Javascript HTML5 Canvas实现的一个画板


Posted in Javascript onApril 12, 2020

本文实例为大家分享了HTML5 Canvas实现的一个画板代码,供大家参考,具体内容如下

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <title>DEMO6:自定义画板</title>
</head>
<body>
<canvas id="canvas" width="600" height="300">
 浏览器不支持canvas <!-- 如果不支持会显示这段文字 -->
</canvas>
<br/>
<button style="width:80px;background-color:yellow;" onclick='linecolor="yellow";'>YELLOW</button>
<button style="width:80px ;background-color:red;" onclick='linecolor="red";'>RED</button>
<button style="width:80px ;background-color:blue;" onclick='linecolor="blue";'>BLUE</button>
<button style="width:80px ;background-color:green;" onclick='linecolor="green";'>GREEN</button>
<button style="width:80px ;background-color:white;" onclick='linecolor="white";'>WHITE</button>
<button style="width:80px ;background-color:black;" onclick='linecolor="black";'>BLACK</button>
<br/>
 
<button style="width: 80px;background-color: white;" onclick="linw=4;">4PX</button>
<button style="width: 80px;background-color: white;" onclick="linw=8;">8PX</button>
<button style="width: 80px;background-color: white;" onclick="linw=16;">16PX</button>
<br/>
 
<button style="width: 80px;background-color: white;" onclick="copyimage();">EXPORT</button>
 
<br/>
<img src="" id="image_png" width="600px" height="300px">
<br/>
 
<script type="text/javascript">
 var canvas = document.getElementById('canvas'); //获取标签
 var ctx = canvas.getContext("2d"); 
 
 var fillStyle = "black";
 ctx.fillRect(0,0,600,300);
 var onoff = false; //按下标记
 var oldx = -10;
 var oldy = -10;
 //设置颜色
 var linecolor = "white";
 var linw = 4;
 canvas.addEventListener("mousemove",draw,true); //鼠标移动事件
 canvas.addEventListener("mousedown",down,false); //鼠标按下事件
 canvas.addEventListener("mouseup",up,false); //鼠标弹起事件
 function down(event){
  onoff = true;
  oldx = event.pageX - 10;
  oldy = event.pageY - 10;
 }
 function up(){
  onoff = false;
 }
 function draw(event){
  if (onoff==true) {
   var newx = event.pageX - 10;
   var newy = event.pageY - 10
   ctx.beginPath();
   ctx.moveTo(oldx,oldy);
   ctx.lineTo(newx,newy);
   ctx.strokeStyle = linecolor;
   ctx.lineWidth = linw;
   ctx.lineCap = "round";
   ctx.stroke();
 
   oldx = newx;
   oldy = newy;
  }
 }
 function copyimage(event)
 {
  var img_png_src = canvas.toDataURL("image/png"); //将画板保存为图片格式的函数
  document.getElementById("image_png").src = img_png_src;
 }
  
 </script> 
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
jQuery中文入门指南,翻译加实例,jQuery的起点教程
Jan 13 Javascript
事件模型在各浏览器中存在差异
Oct 20 Javascript
关于innerHTML后丢失动态绑定的EVENT问题解决方法
May 19 Javascript
14个有用的Jquery技巧分享
Jan 08 Javascript
jQuery简单实现禁用右键菜单
Mar 10 Javascript
javascript实现点击提交按钮后显示loading的方法
Jul 03 Javascript
BootStrap 图片样式、辅助类样式和CSS组件的实例详解
Jan 20 Javascript
Layui多选只有最后一个值的解决方法
Sep 02 Javascript
vuex根据不同的用户权限展示不同的路由列表功能
Sep 20 Javascript
jQuery操作选中select下拉框的值代码实例
Feb 07 jQuery
bootstrap-table后端分页功能完整实例
Jun 01 Javascript
微信小程序入门之绘制时钟
Oct 22 Javascript
bootstrap3 兼容IE8浏览器!
May 02 #Javascript
javascript实现列表切换效果
May 02 #Javascript
基于javascript编写简单日历
May 02 #Javascript
Bootstrap媒体对象的实现
May 01 #Javascript
Bootstrap进度条组件知识详解
May 01 #Javascript
BootStrap glyphicons 字体图标实现方法
May 01 #Javascript
JS实现左右无缝轮播图代码
May 01 #Javascript
You might like
PHP中路径问题的解决方案
2006/10/09 PHP
PHP面向对象概念
2011/11/06 PHP
php eval函数用法 PHP中eval()函数小技巧
2012/10/31 PHP
php比较两个绝对时间的大小
2014/01/31 PHP
PHP使用反向Ajax技术实现在线客服系统详解
2019/07/01 PHP
基于jquery实现的类似百度搜索的输入框自动完成功能
2011/08/23 Javascript
JavaScript中的typeof操作符用法实例
2014/04/05 Javascript
javascript关于继承的用法汇总
2014/12/20 Javascript
JS判断元素是否在数组内的实现代码
2016/03/30 Javascript
JavaScript职责链模式概述
2016/09/17 Javascript
BootStrapValidator校验方式
2016/12/19 Javascript
js验证手机号、密码、短信验证码代码工具类
2020/06/24 Javascript
JS实现图片点击后出现模态框效果
2017/05/03 Javascript
JS库particles.js创建超炫背景粒子插件(附源码下载)
2017/09/13 Javascript
微信小程序实现简单input正则表达式验证功能示例
2017/11/30 Javascript
node中使用es6/7/8(支持性与性能)
2019/03/28 Javascript
vue+koa2实现session、token登陆状态验证的示例
2019/08/30 Javascript
python实现人人网登录示例分享
2014/01/19 Python
Python编程之黑板上排列组合,你舍得解开吗
2017/10/30 Python
Pandas中把dataframe转成array的方法
2018/04/13 Python
Python使用Dijkstra算法实现求解图中最短路径距离问题详解
2018/05/16 Python
python 读取竖线分隔符的文本方法
2018/12/20 Python
用Python实现大文本文件切割的方法
2019/01/12 Python
python-itchat 统计微信群、好友数量,及原始消息数据的实例
2019/02/21 Python
python binascii 进制转换实例
2019/06/12 Python
python实现替换word中的关键文字(使用通配符)
2020/02/13 Python
使用python批量修改XML文件中图像的depth值
2020/07/22 Python
谈谈python垃圾回收机制
2020/09/27 Python
css3动画过渡实现鼠标跟随导航效果
2018/02/08 HTML / CSS
CSS3绘制有活力的链接下划线
2016/07/14 HTML / CSS
法律系毕业生自荐信范文
2014/03/27 职场文书
教师作风建设剖析材料
2014/10/11 职场文书
2015年中秋节主持词
2015/07/30 职场文书
AJAX实现省市县三级联动效果
2021/10/16 Javascript
MySQL详细讲解变量variables的用法
2022/06/21 MySQL
Navicat Premium自定义 sql 标签的创建方式
2022/09/23 数据库