Canvas小结

Posted mojimoji

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Canvas小结相关的知识,希望对你有一定的参考价值。

1、在图片的onload事件中绘图时:

  当图片的src值是本地文件目录时,canvas.toDataURL()、ctx.putImageData()方法无法使用,并且浏览器会报错;

  当图片的src值是base64形式时则canvas.toDataURL()、ctx.putImageData()方法都能使用且浏览器也不会报错;

技术图片    技术图片

   解决:通过服务器访问页面而不是直接双击html文件浏览。

 2、canvas转为图片:

  可以使用canvas.toDataURL()或者canvas2image.js插件将canvas元素转为图片;

  如果转出来的图片有点模糊可以尝试这样做:

  (1)假设最终导出来的图片的宽高分别为380px和380px;

  (2)设置canvas的width和height是380的3倍(或者更高的倍数),再设置canvas的样式宽高与最终导出来的图片宽高相同,即canvas.setAttribute("style","width:380px;height:380px;");

  (3)设置绘图放大:ctx.scale(3,3);

  (4)接下来就是一系列绘图操作,注意ctx.drawImage()等方法的参数会自动乘以放大倍数3,但也有例外,如ctx.getImageData()中的参数就没有自动乘以倍数;

  (5)最后可利用canvas2image.js插件将canvas转为380x380的图片。

技术图片

 

 

 

以上是关于Canvas小结的主要内容,如果未能解决你的问题,请参考以下文章

Canvas小结

今天写动态canvas柱状图小结

日常Geetest滑动验证码(三代canvas版)处理小结(以B站登录验证为例)

Android canvas rotate():平移旋转坐标系至任意原点任意角度-------附:android反三角函数小结

UnityVR开发第一周小结

网页保存为图片及高清截图的优化 | canvas跨域图片配置