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);
}
}
}

canvas 画板的更多相关文章
- QML学习笔记(二)-纯qml画图实现canvas画板-鼠标画图
作者: 狐狸家的鱼 Github: 八至 版权声明:如需转载请获取授权和联系作者 用纯qml实现canvas画板功能,用鼠标进行画图,可以画直线,画圆,画矩形,画弧线. 由于canvas画图会有延迟和 ...
- canvas——画板
注意部分: canvas的height和width不能再css中设定,应该在html中设定,否则会影响页面的分辨率. 效果图: 图1: 代码 css: #canvas{ cursor: crossha ...
- 简易的canvas画板
没事仿照windows画板工具用canvas实现了一个简易版的画板. html: <!doctype html> <html> <head> <meta ch ...
- html5 canvas画板
点击查看演示地址 <!DOCTYPE HTML> <html> <title>HTML5-CanvasDrawDemo</title> <meta ...
- html5 canvas 画板
<!doctype html> <head> <meta http-equiv="Content-Type" content="text/h ...
- JS canvas 画板 撤销
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- Canvas画板
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAA6QAAAGgCAIAAAAy0z21AAAgAElEQVR4nO3dfYwkZ30n8JqZfcNex8
- canvas画板基础应用的学习
canvas是html5中的绘图容器,我们可以通过javascript的控制来进行图形的绘制,绘制对象可以是路径.盒.圆.字符等,同时,你也可以通过js给画布添加图像,下面来介绍canvas的各种基本 ...
- canvas实践小实例一 —— 画板工具
前面讲了一部分的canvasAPI的基础知识,光看API的介绍确实是很无趣乏味,需要一点可以激发内心的激情的东西来激励自己来学习,于是就了伴随canvasAPI学习的小实例,这样通过API的知识,结合 ...
随机推荐
- ios9适配系列教程——ios9新变化
Demo1_iOS9网络适配_改用更安全的HTTPS iOS9把所有的http请求都改为https了:iOS9系统发送的网络请求将统一使用TLS 1.2 SSL.采用TLS 1.2 协议,目的是 强制 ...
- ECharts学习(2)--饼状图之南丁格尔图
1.上一篇中讲了如何绘制一个简单的柱状图,这次要画的是饼图,饼图主要是通过扇形的弧度表现不同类目的数据在总和中的占比,它的数据格式比柱状图更简单,只有一维的数值,不需要给类目.因为不在直角坐标系上,所 ...
- Oracle之分页查询
select * from ( select a.*, rownum rn from (select * from table_name) a where rownum<= 40 ) where ...
- 跳转到某个Activity
跳转 Activity之间的跳转 可以依靠Intent 简单粗暴的办法是 Intent intent= new Intent(*.this, MainActivity.class); startAct ...
- Day4-python基础之函数
本次学习内容: 字典查询快的原因 字符编码 函数定义 局部变量.全局变量 返回值 嵌套函数 递归(二分查找) 三元运算 map lamba 函数式编程 高阶函数 内置函数 字典查询快的原因: 字典占用 ...
- 网站访问量大 怎样优化mysql数据库
MySQL优化的一些建议,单机MySQL的优化我分为三个部分,一是服务器物理硬件的优化,二是 MySQL安装时的编译优化,三是自身配置文件my.cnf的优化:如果单机的优化也解决不了你的数据库的压力的 ...
- dos 固定ip命令
dos 固定ip命令 ***************************************************************************************** ...
- 10月24日下午PHP封装
class Ren { private $name; private $sex; private $age;//年龄必须在18-50岁之间 function __construct($n) { $th ...
- Oracle 图形化以及命令行安装
@(Oracle)[Install] Oracle 安装 相关版本说明 不同版本的Oracle需要安装在特定的系统版本之上. 如Oracle 11gR2的11.2.0.1.0需要安装在CentOS 5 ...
- Python之路【第十八篇】Django小项目webQQ实现
WEBQQ的实现的几种方式 1.HTTP协议特点 首先这里要知道HTTP协议的特点:短链接.无状态! 在不考虑本地缓存的情况举例来说:咱们在连接博客园的时候,当tcp连接后,我会把我自己的http头发 ...