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 相关文章推荐
prototype Element学习笔记(篇一)
Oct 26 Javascript
jquery $.ajax入门应用一
Nov 19 Javascript
js跟随滚动条滚动浮动代码
Dec 31 Javascript
jquery对元素拖动排序示例
Jan 16 Javascript
JS基于面向对象实现的多个倒计时器功能示例
Feb 28 Javascript
Vue中父组件向子组件通信的方法
Jul 11 Javascript
jQuery实现动态显示select下拉列表数据的方法
Feb 05 jQuery
详解Vue中watch的高级用法
May 02 Javascript
js与jQuery实现获取table中的数据并拼成json字符串操作示例
Jul 12 jQuery
element-ui 时间选择器限制范围的实现(随动)
Jan 09 Javascript
js中offset,client , scroll 三大元素知识点总结
Sep 11 Javascript
教你如何用Node实现API的转发(某音乐)
Sep 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 GD库生成图像的几个函数总结
2014/11/19 PHP
PHP使用PHPExcel删除Excel单元格指定列的方法
2016/07/06 PHP
jquery插件之定时查询待处理任务数量
2014/05/01 Javascript
在JavaScript中访问字符串的子串
2015/07/07 Javascript
jquery地址栏链接与a标签链接匹配之特效代码总结
2015/08/24 Javascript
限制复选框最多选择项的实现代码
2016/05/30 Javascript
详细总结Javascript中的焦点管理
2016/09/17 Javascript
Bootstrap作品展示站点实战项目2
2016/10/14 Javascript
JS基于面向对象实现的拖拽功能示例
2016/12/20 Javascript
node中modules.exports与exports导出的区别
2018/06/08 Javascript
详解如何在Vue里建立长按指令
2018/08/20 Javascript
JS中实现浅拷贝和深拷贝的代码详解
2019/06/05 Javascript
详解小程序横屏方案对比
2020/06/28 Javascript
[05:29]2014DOTA2国际邀请赛 赛后专访:LGDNewbee顺利过关
2014/07/13 DOTA
[32:36]完美世界DOTA2联赛PWL S3 LBZS vs CPG 第二场 12.12
2020/12/16 DOTA
Python操作串口的方法
2015/06/17 Python
Python3 jupyter notebook 服务器搭建过程
2018/11/30 Python
python3实现猜数字游戏
2020/12/07 Python
python批量提取图片信息并保存的实现
2021/02/05 Python
html5组织内容_动力节点Java学院整理
2017/07/10 HTML / CSS
Gap中国官网:美式休闲风服饰
2017/02/05 全球购物
英国顶级家庭折扣店:The Works
2017/09/06 全球购物
State Cashmere官网:半零售价可持续蒙古羊绒
2020/02/26 全球购物
JAVA程序设计笔试题面试题一套
2015/07/28 面试题
财务人员个人求职信范文
2013/12/04 职场文书
学生感冒英文请假条
2014/02/04 职场文书
科技开发中心办公室主任岗位责任制
2014/02/10 职场文书
幼儿园毕业教师感言
2014/02/21 职场文书
公证委托书大全
2014/04/04 职场文书
目标责任书范本
2014/04/16 职场文书
商场租赁意向书
2014/07/30 职场文书
迎新年主持词
2015/07/06 职场文书
2016年社会主义核心价值观心得体会
2016/01/21 职场文书
公司趣味运动会开幕词
2016/03/04 职场文书
员工试用期工作总结
2019/06/20 职场文书
MySQL池化框架学习接池自定义
2022/07/23 MySQL