canvas 画板

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<link rel="stylesheet" type="text/css" href="css/main.css"/>
	</head>
	<body>
		<div class="container">
			<p id="message"></p>
			<div class="cvs-wrap">
				<canvas id="cvs" width="600" height="400"></canvas>
			</div>
			<div class="pencolor" id="pencolor">
				<ul>
					<li style="background: #000000;">黑</li>
					<li style="background: #ffffff;">白</li>
					<li style="background: #FF0000;">红</li>
					<li style="background: #FF8C00;">橙</li>
					<li style="background: #EEEE00;">黄</li>
					<li style="background: #7FFF00;">绿</li>
					<li style="background: #0000AA;">蓝</li>
					<li style="background: #00EE76;">青</li>
					<li style="background: #8B4789;">紫</li>
					<li onclick="clearimg()">清除</li>
				</ul>
			</div>
			<div class="pensize" id="pensize">
				<ul>
					<li style="font-size: 1px;">1</li>
					<li style="font-size: 2px;">2</li>
					<li style="font-size: 3px;">3</li>
					<li style="font-size: 4px;">4</li>
					<li style="font-size: 5px;">5</li>
					<li style="font-size: 6px;">6</li>
					<li style="font-size: 7px;">7</li>
					<li style="font-size: 8px;">8</li>
					<li style="font-size: 9px;">9</li>
					<li style="font-size: 16px;">保存</li>
				</ul>
			</div>
		</div>

		<script type="text/javascript" src="js/main.js"></script>
	</body>
</html>

  

*{margin: 0;padding: 0;}
.container{width: 600px; height: 502px; margin: 0 auto;border: 1px solid #ff0000;}
.cvs-wrap{width: 600px;height: 400px;}
.pencolor{width: 600px;height: 50px;border-top: 1px solid #e7e7e7;}
.pensize{width: 600px;height: 50px;border-top: 1px solid #e7e7e7;}
.pencolor li,.pensize li{float: left;list-style: none; width: 60px;height: 50px;text-align: center;line-height: 50px; display: block;}

  

window.onload = function() {
	var active = false;
	//	console.log(pencolor) ;
	//	console.log(pensize) ;

	var canvas = document.getElementById("cvs");
	var pencolor = document.getElementById(‘pencolor‘).getElementsByTagName(‘li‘);
	var pensize = document.getElementById(‘pensize‘).getElementsByTagName(‘li‘);
	var cxt = canvas.getContext("2d");

	canvas.onmousedown = function(event) {
		active = true;
		//获取x
		x = event.clientX - canvas.offsetLeft;
		//获取y
		y = event.clientY - canvas.offsetTop;
		//		console.log(x, y);
	}
	canvas.onmousemove = function(event) {
		if(active == true) {
			//获取x
			x2 = event.clientX - canvas.offsetLeft;
			//获取y
			y2 = event.clientY - canvas.offsetTop;
			console.log(x2, y2, active);
			cxt.beginPath();
			cxt.moveTo(x, y);
			cxt.lineTo(x2, y2);
			cxt.strokeStyle = color;
			cxt.lineWidth =size;
			cxt.lineCap="round";
			cxt.stroke();
			cxt.closePath();
			x = x2;
			y = y2;
		}
	}
	canvas.onmouseup = function() {
		active = false;
	}

	for(var i = 0; i < pencolor.length; i++) {
		var color="rgb(0,0,0)";
		pencolor[i].onclick = function() {
			//		console.log(pencolor);
			color = this.style.backgroundColor;
			//		console.log(color);
			return color;
			alert(color);
		}

	}

	for(var j = 0; j < pencolor.length; j++) {
		var size="1px";
		pensize[j].onclick = function() {
			//		console.log(pencolor);
			size = this.innerHTML;
			//		console.log(size);
			return size;
			console.log(size);
		}
	}

}

  

时间: 2024-12-18 17:48:07

canvas 画板的相关文章

Html5新特性 &lt;canvas&gt;画板画直线

 下面例子为用canvas标签画多条直线 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta ht

canvas——画板

注意部分: canvas的height和width不能再css中设定,应该在html中设定,否则会影响页面的分辨率. 效果图: 图1: 代码 css: #canvas{ cursor: crosshair; } button{ width: 80px; } .yellowBtn{ background-color: yellow; } .redBtn{ background-color: red; } .blueBtn{ background-color: blue; } .greenBtn{

[JavaScript]创建一个canvas画板-小结(1)

创建一个canvas画板 项目链接:GitHub 项目预览:Github Pages 项目描述:通过MDN提供的教程和API,创建一个拥有基本功能(包括绘画,橡皮擦,保存等)的canvas画板. 在教程的学习过程中,掌握canvas的基本用法,以及需要注意的一些地方. 开始创建一块画板 首先我们要在HTML中创建一个canvas <canvas id="canvas" width="300" height="300"></can

(练习题)canvas画板(简)

canvas:IE9及以上版本,主流浏览器都支持. 注意:当需要设定canvas的高度时不要写在css中,canvas默认是300x150,在css中设置宽高相当于等比放大或者缩小了,canvas中的内容也会等比放大或者缩小. <!DOCTYPE html> <html lang=""> <head> <meta charset="utf-8"> <meta name="viewport" c

canvas画板基础应用的学习

canvas是html5中的绘图容器,我们可以通过javascript的控制来进行图形的绘制,绘制对象可以是路径.盒.圆.字符等,同时,你也可以通过js给画布添加图像,下面来介绍canvas的各种基本的用法: 1.首先,我们需要在html标签中创建一个canvas标签,并且通过脚本对其进行引入. <canvas id="myCanvas" width="200" height="100" style="border:1px sol

html5 canvas 画板

<!doctype html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>javascript结合html5 canvas实现的涂鸦板 - 分享JavaScript-sharejs.com</title> <meta name="Copyright" con

canvas简易画板。

在学canvas的时候,想到可以做一个自己用来画画的简易画板,加上canvas的基础都已经学完,便尝试做了一个画板.如图 1.获取标签. var c=document.getElementById('myCanvas'); var ctx= c.getContext('2d');var b=document.getElementById('b'); var b1=document.getElementById('b1'); var bbb=document.getElementById('bbb

一款基于HTML5 Canvas的画板涂鸦动画

今天给各网友分享一款基于HTML5 Canvas的画板涂鸦动画.记得之前我们分享过一款HTML5 Canvas画板工具,可以切换不同的笔刷,功能十分强大.本文今天要再来分享一款基于HTML5 Canvas的画板涂鸦动画应用,功能和之前那个类似,但是新增了回撤和清空画板的操作,实现思路也基本类似.实现的效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="wrap"> <canvas id="canvas" cl

[ html canvas save restore ] canvas绘图 save restore 属性理论讲解

Canvas API详解(Part 1) 分类 Android 基础入门教程 本节引言: 前面我们花了13小节详细地讲解了Android中Paint类大部分常用的API,本节开始我们来讲解 Canvas(画板)的一些常用API,我们在 8.3.1 三个绘图工具类详解 中已经列出了我们可供调用的一些方法,我们分下类: drawXxx方法族:以一定的坐标值在当前画图区域画图,另外图层会叠加, 即后面绘画的图层会覆盖前面绘画的图层. clipXXX方法族:在当前的画图区域裁剪(clip)出一个新的画图