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下通过$.browser来判断浏览器.
Apr 05 Javascript
再说AutoComplete自动补全之实现原理
Nov 05 Javascript
javaScript array(数组)使用字符串作为数组下标的方法
Nov 19 Javascript
JavaScript中利用各种循环进行遍历的方式总结
Nov 10 Javascript
EasyUi combotree 实现动态加载树节点
Apr 01 Javascript
JavaScript实现事件的中断传播和行为阻止方法示例
Jan 20 Javascript
JavaScript实现全选取消效果
Dec 14 Javascript
vue-video-player 通过自定义按钮组件实现全屏切换效果【推荐】
Aug 29 Javascript
微信小程序 授权登录详解(附完整源码)
Aug 23 Javascript
vue中 v-for循环的用法详解
Feb 19 Javascript
js实现拾色器插件(ColorPicker)
May 21 Javascript
jQuery实现简单轮播图效果
Dec 27 jQuery
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页面间参数传递的四种方法详解
2013/06/09 PHP
Zend Framework开发入门经典教程
2016/03/23 PHP
Yii2框架类自动加载机制实例分析
2018/05/02 PHP
php微信支付之公众号支付功能
2018/05/30 PHP
Laravel学习笔记之Artisan命令生成自定义模板的方法
2018/11/22 PHP
简单三步,搞掂内存泄漏
2007/03/10 Javascript
js cookies实现简单统计访问次数
2009/11/24 Javascript
jquery键盘事件介绍
2011/01/31 Javascript
IE6/7/8/9不支持exec的简写方式
2011/05/25 Javascript
js实现俄罗斯方块小游戏分享
2014/01/31 Javascript
jQuery 实现自动填充邮箱功能(带下拉提示)
2014/10/14 Javascript
什么是JavaScript注入攻击?
2016/09/14 Javascript
node.js报错:Cannot find module 'ejs'的解决办法
2016/12/14 Javascript
vue中如何实现变量和字符串拼接
2017/06/19 Javascript
微信小程序仿RadioGroup改变样式的处理方案
2018/07/13 Javascript
解决百度Echarts图表坐标轴越界的方法
2018/10/17 Javascript
微信小程序如何实现在线客服功能
2019/10/16 Javascript
js实现转动骰子模型
2019/10/24 Javascript
js实现小星星游戏
2020/03/23 Javascript
Python的内存泄漏及gc模块的使用分析
2014/07/16 Python
python+django快速实现文件上传
2016/10/24 Python
基于pip install django失败时的解决方法
2018/06/12 Python
python并发和异步编程实例
2018/11/15 Python
python通过ffmgep从视频中抽帧的方法
2018/12/05 Python
python中使用 xlwt 操作excel的常见方法与问题
2019/01/13 Python
pandas分区间,算频率的实例
2019/07/04 Python
Tensorflow 实现释放内存
2020/02/03 Python
英国家居装饰品、户外家具和玻璃器皿购物网站:Rinkit.com
2019/11/04 全球购物
中科软笔试题和面试题
2014/10/07 面试题
大学生就业策划书范文
2014/04/04 职场文书
新闻传播专业求职信
2014/07/22 职场文书
2014年资料员工作总结
2014/11/18 职场文书
2014年财务工作总结与计划
2014/12/08 职场文书
2014年政工师工作总结
2014/12/18 职场文书
Python编程中Python与GIL互斥锁关系作用分析
2021/09/15 Python
我的收音机情缘
2022/04/05 无线电