H5自定义画布:(下面复制粘贴就能用了)HTML部分:<canvas id="canvas" style="border: 1px solid #999"></canvas>
    JS部分:        //画板var canvas = document.getElementById("canvas");var ctx = canvas.getContext("2d");ctx.lineWidth = 1.0;canvas.addEventListener('touchstart',function(event){//触摸点按下事件
            stopDefault();if (event.targetTouches.length == 1) {var touch = event.targetTouches[0];ctx.beginPath();ctx.moveTo(touch.clientX-canvas.offsetLeft,touch.clientY-canvas.offsetTop);canvas.addEventListener('touchmove',function (event) {//手机拖动触摸点事件var touche = event.targetTouches[0];ctx.lineTo(touche.clientX - canvas.offsetLeft, touche.clientY - canvas.offsetTop);ctx.stroke();},false)canvas.addEventListener('touchend',function (event) {//手机离开屏幕的事件
                    ctx.closePath();startDefault();},false)}},false)//清空画布$("#cx").click(function(){//重新设置高或宽,便能重置画布var c=document.getElementById("canvas");  var cxt=c.getContext("2d");  c.height=c.height;})    //将某段HTML通过canvas转化成图片显示例如:<div id="html">要转化成Image图片的HTML代码</div>   //要转化成Image图片的HTML代码<img id="img" src="" />   //通过该图片显示出来1.首先引入<script type="text/javascript" src="${pageContext.request.contextPath}/js/html2canvas.js"></script>2.通过下面代码获取到DOM对象,然后将其base64数据付给图片的src即可显示var DOM=document.getElementById("html");html2canvas(DOM).then(function(canvas) {var imageData = canvas.toDataURL();$("#img").attr("src",imageData);});//将某一个画布的内容,复制到另一块画布上
HTML部分:<canvas id="canvas" style="border: 1px solid #999">用户画的画布</canvas><canvas id="canvas_fz" style="border: 1px solid #999">要复制过去的画布</canvas>
JS部分:
var canvas=document.getElementById("canvas");//用户画的签名
var ctx=canvas.getContext("2d");
var imgData=ctx.getImageData(0,0,$("#canvas").width(),$("#canvas").height());//通过getImageData(左上角坐标,右上角坐标,获取的宽度,获取的高度)获取用户画的像素var canvas_fz=document.getElementById("canvas_fz");
$(canvas_fz).attr("width",$("#canvas").width()).attr("height",$("#canvas").height()); //设置要复制到画布的大小
var canvas_fz_context=canvas_fz.getContext("2d");
canvas_fz_context.putImageData(imgData,0,0);//通过putImageData()将画布附上
        通过canvas将图片进行压缩,获取base64数据<img id="image-1" />var img = new Image();//首先new一个Image对象img.src=base64;//这里的base64是要压缩的图片的base64数据var canvas = document.createElement("canvas");//获取画布对象var context = canvas.getContext("2d");canvas.width = ($("#image-1").width());设置画布大小,与显示的图片大小一样canvas.height = ($("#image-1").height());// 核心JS就这个context.drawImage(img,0,0,canvas.width,canvas.height);var data=canvas.toDataURL();//这样通过toDataURL()方法就获取到了压缩后的base64数据

转载于:https://www.cnblogs.com/AnswerTheQuestion/p/8317892.html

canvas画布使用总结相关推荐

  1. js实现图片虚化_js canvas画布实现高斯模糊效果

    最近项目中有一个需求是实现图片的局部模糊效果,看上去一个挺难的效果.在实现局部模糊效果前,首先能够实现全部模糊.经过和度娘的一番较劲后,找到了一个不错的案例,然后在他的基础上,经过一番修改,和备注,实 ...

  2. 用html5的canvas画布绘制贝塞尔曲线

    查看效果:http://keleyi.com/keleyi/phtml/html5/7.htm 完整代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHT ...

  3. js将文字填充与canvas画布再转为图片

    需求:封装consul服务的webUI: 原因:展示consul的服务信息时,需要嵌套动画,由于其没有内置的icon,所以将服务name放于图片位: 分析:展示信息时采用了卡片式的服务布局,缩放式的服 ...

  4. 前端实现可绘制的canvas画布_前端图形学基础(五)——Canvas状态管理

    点击右上角的关注,不定期前端干货分享!! 欢迎来到我的前端图形学系列文章: 前端图形学基础(一)--Canvas基础入门 前端图形学基础(二)--Canvas基础 前端图形学基础(三)--Canvas ...

  5. 更新——Canvas画布动画效果之实现倒计时

    Hello,大家好! 小W复活啦!继续欢乐的给大家更博,输送新知识~~ 不开玩笑啦!秒进正题~~~ 上次更博,小W给大家介绍了Canvas画布的基础部分,以及实现了一个由7*10点阵图显示的倒计时的基 ...

  6. 使用HTML5的Canvas画布来剪裁用户头像

    日期:2013-5-23  来源:GBin1.com 本文来自极客标签社区用户webgeek的一个在线HTML5web开发小技巧,帮助你使用html5的画布功能来切割用户上传的大头照. 在线调试 例如 ...

  7. canvas画布会黑屏吗_Android SurfaceView 黑屏问题

    说一个真实的案例.其中需求要做一个绘图功能,一听到绘图,自然而然就像到了SurfaceView这个类.所以我就用了. android:layout_width="match_parent&q ...

  8. HTML5 API详解(12):canvas画布API提供的内容很丰富啊~

    不考虑代码质量的话,一般来说css3>canvas>纯js. 1. css3动画是独立与js线程的,js的运算操作不会阻塞css3的动画,所以在系统cpu占用率较高的时候,css3的动画性 ...

  9. selenium webdriver 实现Canvas画布自动化测试

    https://blog.csdn.net/xiaoguanyusb/article/details/80324210 由借鉴意义, 转过来 canvas 是一个画布,定位元素时只能定位到画布上,如下 ...

  10. python selenium canvas_selenium webdriver 实现Canvas画布自动化测试

    https://blog.csdn.net/xiaoguanyusb/article/details/80324210 由借鉴意义, 转过来 canvas 是一个画布,定位元素时只能定位到画布上,如下 ...

最新文章

  1. surefire单元测试 并发 提速
  2. 用POP动画引擎实现弹簧动画(POPSpringAnimation)
  3. 将25k行C#转换为Java的经验教训
  4. MugLife app是一款可以将静态照片变成3D动画的手机应用
  5. linux下mysql连接错误解决
  6. 数据库加主键sql_SQL数据库设计:选择主键
  7. bzoj4546-codechef XRQRS(可持久化Trie)
  8. c语言程序设计教程课后选择题答案,C语言程序设计教程课后习题包括答案.docx...
  9. lua学习 第二章数据与标准库
  10. NMEA的GPGGA数据包解析 字符转数字
  11. 1.44TFT彩屏字体翻转,扫描方式的改变
  12. 大三,在软件工程学习上的感悟
  13. 前端开发和后端开发究竟有什么区别?详细介绍
  14. 腾讯让企业微信连接微信,这是针对钉钉的精准打击吗?
  15. qlv转mp4播放不了,解决方法
  16. python中range函数是什么意思_python中range什么意思
  17. 告别“浮云” 享用云计算服务优势
  18. 大数据 | Hadoop性能测试
  19. eclipse的简介
  20. android指南针功能,轻松实现Android指南针功能

热门文章

  1. MATLAB模拟矩阵法绘制多层薄膜反射率与波长关系曲线
  2. php 强制不换行,HTMLnobr强制不换行标签元素
  3. 调试Linux系统挂起和休眠问题的最佳实践
  4. 信捷口罩机程序,带注释,信捷触摸屏信捷PLC
  5. Java学习记录02
  6. C++超级素数(Sprime)
  7. CAD制图软件使用心得(第二期)
  8. 实际的wdt driver框架
  9. 如何区分ICP增值电信许可证和EDI电信增值经营许可证
  10. [译]PG复制和自动故障转移--2