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 相关文章推荐
LazyLoad 延迟加载(按需加载)
May 31 Javascript
当jQuery遭遇CoffeeScript的时候 使用分享
Sep 17 Javascript
JavaScript基本编码模式小结
May 23 Javascript
jquery插件开发注意事项小结
Jun 04 Javascript
JavaScript编程的10个实用小技巧
Apr 18 Javascript
js获取checkbox值的方法
Jan 28 Javascript
JavaScript实现向OL列表内动态添加LI元素的方法
Mar 21 Javascript
javascript正则表达式基础知识入门
Apr 20 Javascript
javascript的列表切换【实现代码】
May 03 Javascript
Vue 滚动行为的具体使用方法
Sep 13 Javascript
javascript 产生随机数的几种方法总结
Sep 26 Javascript
Node.js + express实现上传大文件的方法分析【图片、文本文件】
Mar 14 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
967 个函式
2006/10/09 PHP
PHP删除HTMl标签的三种解决方法
2013/06/30 PHP
PHP json_encode中文乱码问题的解决办法
2013/09/09 PHP
PHP实现ftp上传文件示例
2014/08/21 PHP
Zend Framework教程之Zend_Db_Table表关联实例详解
2016/03/23 PHP
php 输出json及显示json中的中文汉字详解及实例
2016/11/09 PHP
XMLHTTPRequest的属性和方法简介
2010/11/23 Javascript
event.currentTarget与event.target的区别介绍
2012/12/31 Javascript
JS不能跨域借助jquery获取IP地址的方法
2014/08/20 Javascript
JS实现控制表格内指定单元格内容对齐的方法
2015/03/30 Javascript
jquery简单实现网页层的展开与收缩效果
2015/08/07 Javascript
angularjs学习笔记之三大模块(modal,controller,view)
2015/09/26 Javascript
JS中innerHTML和pasteHTML的区别实例分析
2016/06/22 Javascript
使用JS模拟锚点跳转的实例
2018/02/01 Javascript
基于JS实现视频上传显示进度条
2020/05/12 Javascript
Vuex的热更替如何实现
2020/06/05 Javascript
vue实现表格合并功能
2020/12/01 Vue.js
基于Vant UI框架实现时间段选择器
2020/12/24 Javascript
[46:00]DOTA2上海特级锦标赛主赛事日 - 2 胜者组第一轮#4EG VS Fnatic第一局
2016/03/03 DOTA
python简单猜数游戏实例
2015/07/09 Python
python中协程实现TCP连接的实例分析
2018/10/14 Python
对python cv2批量灰度图片并保存的实例讲解
2018/11/09 Python
Python中文件的写入读取以及附加文字方法
2019/01/23 Python
Python面向对象程序设计构造函数和析构函数用法分析
2019/04/12 Python
Python实现的文轩网爬虫完整示例
2019/05/16 Python
anaconda中更改python版本的方法步骤
2019/07/14 Python
基于pytorch的保存和加载模型参数的方法
2019/08/17 Python
python实现遍历文件夹图片并重命名
2020/03/23 Python
Python是什么 Python的用处
2020/05/26 Python
新百伦折扣店:Joe’s New Balance Outlet
2016/08/20 全球购物
jurlique茱莉蔻英国官网:澳洲天然护肤品
2018/08/03 全球购物
大学生优秀自荐信范文
2014/02/25 职场文书
秋季开学典礼主持词
2014/03/19 职场文书
教师听课评语大全
2014/12/31 职场文书
公司放假通知怎么写
2015/04/15 职场文书
爱国主义影片观后感
2015/06/18 职场文书