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的知识,结合 ...
随机推荐
- 微信小程序之小豆瓣图书
最近微信小程序被炒得很火热,本人也抱着试一试的态度下载了微信web开发者工具,开发工具比较简洁,功能相对比较少,个性化设置也没有.了解完开发工具之后,顺便看了一下小程序的官方开发文档,大概了解了小程序 ...
- PHP 常用框架
1.ThinkPHP 2.Yii2 3.Laravel 4.CodeIgniter 5.CakePHP
- 2.1 python使用MongoDB 示例代码
import pymongo client = pymongo.MongoClient('localhost', 27017) # MongoDB 客户端 walden = client['walde ...
- 【C#】C#容易忽视的错误
1.string 拼接站内存,前提是字符串比较多的时候string 字符串类型拼接占内存,解决方法就是用 StringBuilder和String.Format2.不知道内置的验证数据类型的方法. ; ...
- Asp.Net MVC<四>:路由器
路由的核心类型基本定义于System.Web.dll中,路由机制同样可应用与Web Forms,实现请求地址和物理文件的分离. web form中使用路由器的示例 路由配置 protected voi ...
- sublime3安装liveload,实现前端自动F5刷新html界面
这两天倒腾编辑器,atom实在太大了,还是sublime好用 以前一直用sublime2, 然后更新到sublime3, 然后把一些必要的插件安装了一下:liveload(自动刷新): package ...
- HttpClient 4.3 使用
httpclient的api变化很快,本篇随笔记录自己使用4.3.6版本时所做的设置.版本虽然不是最新,但达到了目的就行. maven依赖: <dependency> <groupI ...
- jQuery datatables
jQuery datatables 属性,用例 参考:http://datatables.club/example/ http://blog.csdn.net/mickey_miki/article/ ...
- [C#] 使用NPOI将Datatable保存到Excel
using (table) { IWorkbook workbook = new HSSFWorkbook(); ISheet sheet = workbook.CreateSheet(); IRow ...
- 静态关键字static(2)
static关键字主要有两种作用: 第一,为某特定数据类型或对象分配单一的存储空间,而与创建对象的个数无关. 第二,实现某个方法或属性与类而不是对象关联在一起 具体而言,在Java语言中,static ...