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 相关文章推荐
javaScript同意等待代码实现心得
Jan 01 Javascript
js编写trim()函数及正则表达式的运用
Oct 24 Javascript
JavaScript获取URL汇总
Jun 08 Javascript
JS简单实现点击复制链接的方法
Aug 03 Javascript
jquery滚动条插件(可以自定义)
Dec 11 Javascript
Node.js 中exports 和 module.exports 的区别
Mar 14 Javascript
微信小程序动态添加分享数据
Jun 14 Javascript
vue-cli配置文件——config篇
Jan 04 Javascript
JavaScript变量作用域及内存问题实例分析
Jun 10 Javascript
JS中的算法与数据结构之链表(Linked-list)实例详解
Aug 20 Javascript
ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】
Dec 21 Javascript
基于vue hash模式微信分享#号的解决
Sep 07 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开发模式(简写版)
2007/03/15 PHP
40个迹象表明你还是PHP菜鸟
2008/09/29 PHP
php fckeditor 调用的函数
2009/06/21 PHP
php上传图片并压缩的实现方法
2015/12/22 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
2018/02/10 PHP
js压缩利器
2007/02/20 Javascript
js 页面刷新location.reload和location.replace的区别小结
2009/12/24 Javascript
javascript getElementsByTagName
2011/01/31 Javascript
Jquery中offset()和position()的区别分析
2015/02/05 Javascript
jQuery获取浏览器类型和版本号的方法
2016/07/05 Javascript
基于Vue实现支持按周切换的日历
2020/09/24 Javascript
在Vant的基础上封装下拉日期控件的代码示例
2018/12/05 Javascript
微信公众平台获取access_token的方法步骤
2019/03/29 Javascript
解决pycharm双击但是无法打开的情况
2020/10/31 Javascript
vue中实现点击空白区域关闭弹窗的两种方法
2020/12/30 Vue.js
JS实现选项卡插件的两种写法(jQuery和class)
2020/12/30 jQuery
[49:02]KG vs Infamous 2019国际邀请赛淘汰赛 败者组BO1 8.20.mp4
2020/07/19 DOTA
Python实现测试磁盘性能的方法
2015/03/12 Python
在Python中使用mechanize模块模拟浏览器功能
2015/05/05 Python
在cmder下安装ipython以及环境的搭建
2018/10/19 Python
python直接获取API传递回来的参数方法
2018/12/17 Python
Python实现语音识别和语音合成功能
2019/09/20 Python
使用Python完成15位18位身份证的互转功能
2019/11/06 Python
Python startswith()和endswith() 方法原理解析
2020/04/28 Python
详解用selenium来下载小姐姐图片并保存
2021/01/26 Python
维氏瑞士军刀英国网站:Victorinox英国
2019/07/04 全球购物
Sport-Thieme荷兰:购买体育用品
2019/08/25 全球购物
美国一站式电动和手动工具商店:International Tool
2020/11/26 全球购物
俄罗斯第一家多品牌在线奢侈品精品店:Aizel.ru
2020/09/06 全球购物
财务会计专业求职信范文
2013/12/31 职场文书
小学开学寄语
2014/01/19 职场文书
市场营销专业大学生职业生涯规划文
2014/03/06 职场文书
服务之星事迹材料
2014/05/03 职场文书
基层党建工作汇报材料
2014/08/15 职场文书
2014企业领导班子四风对照检查材料思想汇报
2014/09/17 职场文书
解决Tkinter中button按钮未按却主动执行command函数的问题
2021/05/23 Python