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 相关文章推荐
VBScript版代码高亮
Jun 26 Javascript
javascript 写的一个简单的timer
Jul 30 Javascript
jQuery学习笔记之jQuery选择器的使用
Dec 22 Javascript
javascript之querySelector和querySelectorAll使用介绍
Dec 20 Javascript
jQuery对val和atrr(&quot;value&quot;)赋值的区别介绍
Sep 26 Javascript
JavaScript中字符串分割函数split用法实例
Apr 07 Javascript
javascript学习小结之prototype
Dec 03 Javascript
简介EasyUI datagrid editor combogrid搜索框的实现
Apr 01 Javascript
Js删除数组中某一项或几项的几种方法(推荐)
Jul 27 Javascript
使用angular-cli webpack创建多个包的方法
Oct 16 Javascript
js中call()和apply()改变指针问题的讲解
Jan 17 Javascript
小程序开发中如何使用async-await并封装公共异步请求的方法
Jan 20 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自定义hash函数实例
2015/05/05 PHP
php事件驱动化设计详解
2016/11/10 PHP
PHP substr()函数参数解释及用法讲解
2017/11/23 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
2018/02/07 PHP
JavaScript 学习笔记之一jQuery写法图片等比缩放以及预加载
2012/06/28 Javascript
js切换光标示例代码
2013/10/10 Javascript
Javascript 拖拽的一些高级的应用(逐行分析代码,让你轻松了拖拽的原理)
2015/01/23 Javascript
js实现的二分查找算法实例
2016/01/21 Javascript
Javascript的表单验证长度
2016/03/16 Javascript
Node.js下自定义错误类型详解
2016/10/17 Javascript
详解jQuery选择器
2016/12/21 Javascript
AngularJS 支付倒计时功能实现思路
2017/06/05 Javascript
Vue 实现树形视图数据功能
2018/05/07 Javascript
JavaScript模板引擎原理与用法详解
2018/12/24 Javascript
关于Js中new操作符的作用详解
2021/02/21 Javascript
[01:35:53]完美世界DOTA2联赛PWL S3 Magma vs GXR 第二场 12.13
2020/12/17 DOTA
[51:39]DOTA2-DPC中国联赛 正赛 Magma vs LBZS BO3 第二场 2月7日
2021/03/11 DOTA
python字符串加密解密的三种方法分享(base64 win32com)
2014/01/19 Python
python 根据pid杀死相应进程的方法
2017/01/16 Python
Python实现在线音乐播放器
2017/03/03 Python
Python基于最小二乘法实现曲线拟合示例
2018/06/14 Python
如何用Python合并lmdb文件
2018/07/02 Python
python爬虫 2019中国好声音评论爬取过程解析
2019/08/26 Python
Jupyter Notebook折叠输出的内容实例
2020/04/22 Python
CSS3实现水平居中、垂直居中、水平垂直居中的实例代码
2020/02/27 HTML / CSS
使用phonegap进行本地存储的实现方法
2017/03/31 HTML / CSS
财务经理的岗位职责
2013/12/17 职场文书
怎样客观的做好自我评价
2013/12/28 职场文书
弘扬雷锋精神活动演讲稿
2014/03/04 职场文书
关于建议书的格式范文
2014/05/20 职场文书
公司员工安全协议书
2014/11/21 职场文书
2014年乡镇民政工作总结
2014/12/02 职场文书
结婚保证书(三从四德)
2015/02/26 职场文书
行为规范主题班会
2015/08/13 职场文书
婚礼答谢词范文
2015/09/29 职场文书
JavaScript+HTML实现学生信息管理系统
2021/04/20 Javascript