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 相关文章推荐
文本加密解密
Jun 23 Javascript
一个实用的图片切换支持点击切换和自动轮播
Sep 09 Javascript
JS判断是否360安全浏览器极速内核的方法
Jan 29 Javascript
js字符串操作方法实例分析
May 06 Javascript
js定义类的几种方法(推荐)
Jun 08 Javascript
利用Jquery队列实现根据输入数量显示的动画
Sep 01 Javascript
浅谈javascript中的 “ &amp;&amp; ” 和 “ || ”
Feb 02 Javascript
vue如何获取点击事件源的方法
Aug 10 Javascript
Vue瀑布流插件的使用示例
Sep 19 Javascript
Vue常见面试题整理【值得收藏】
Sep 20 Javascript
js限制输入框只能输入数字(onkeyup触发)
Sep 28 Javascript
swiper实现导航滚动效果
Dec 13 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
《Re:从零开始的异世界生活》剧情体验,手游新作定名
2020/04/09 日漫
用文本文件制作留言板提示(下)
2006/10/09 PHP
百度实时推送api接口应用示例
2014/10/21 PHP
PHP如何实现订单的延时处理详解
2017/12/30 PHP
PHP设计模式之注册树模式分析
2018/01/26 PHP
PHP常用函数之获取汉字首字母功能示例
2019/10/21 PHP
用javascript实现给图片加链接
2007/08/15 Javascript
JQuery中阻止事件冒泡几种方式及其区别介绍
2014/01/15 Javascript
JQuery设置时间段下拉选择实例
2014/12/30 Javascript
javascript伸缩菜单栏实现代码分享
2015/11/12 Javascript
jQuery 实现评论等级好评差评特效
2016/05/06 Javascript
AngularJS表格样式简单设置方法示例
2017/03/03 Javascript
ES6学习教程之对象的扩展详解
2017/05/02 Javascript
Angular2中select用法之设置默认值与事件详解
2017/05/07 Javascript
js基于FileSaver.js 浏览器导出Excel文件的示例
2017/08/15 Javascript
详解Node全局变量global模块
2017/09/28 Javascript
高性能的javascript之加载顺序与执行原理篇
2018/01/14 Javascript
react-router 路由切换动画的实现示例
2018/12/03 Javascript
微信小程序云开发详细教程
2019/05/16 Javascript
浅谈bootstrap layer.open中end的使用方法
2019/09/12 Javascript
JS实现分页导航效果
2020/02/19 Javascript
详解Python中__str__和__repr__方法的区别
2015/04/17 Python
编写Python脚本来获取mp3文件tag信息的教程
2015/05/04 Python
Python实现压缩与解压gzip大文件的方法
2016/09/18 Python
Python简单读取json文件功能示例
2017/11/30 Python
PyCharm使用Docker镜像搭建Python开发环境
2019/12/26 Python
Python 实现打印单词的菱形字符图案
2020/04/12 Python
请写出一段Python代码实现删除一个list里面的重复元素
2015/12/29 面试题
先进集体事迹材料
2014/02/17 职场文书
大班开学家长寄语
2014/04/04 职场文书
网站客服岗位职责
2014/04/05 职场文书
食品科学与工程专业毕业生求职信范文
2014/07/21 职场文书
劳资员岗位职责
2015/02/13 职场文书
Pyhton模块和包相关知识总结
2021/05/12 Python
Mysql效率优化定位较低sql的两种方式
2021/05/26 MySQL
PostgreSQL基于pgrouting的路径规划处理方法
2022/04/18 PostgreSQL