toDataURL()方法

1、toDataURL()方法是什么?

toDataURL()是canvas对象的一种方法,用于将canvas对象转换为base64位编码;

2、利用canvas的toDataURL()方法如何将图片转换为base64编码?

通过将图片绘制到canvas中,然后将canvas对象转换为base64编码,从而实现图片转为base64编码;

3、将图片转换为base64位编码有什么好处?

  • 将图片转换为base64位编码后,图片会跟随代码(html、css、js)一起请求加载,不会再单独进行请求加载;

  • 可以防止由于图片路径错误导致图片加载失败的问题;

4、toDataURL()方法的两个参数:

toDataURL(type, encoderOptions)

  • type指定转换为base64编码后图片的格式,如:image/pngimage/jpegimage/webp等等,默认为image/png格式;

  • encoderOptions用于设置转换为base64编码后图片的质量,取值范围为0-1,超出取值范围用默认值0.92代替;

5、利用canvas将图片转换为base64编码:

function imgToBase64(imgSrc, imgType, callback) {let type = imgType || 'image/png',dataURL,img = new Image();// 允许资源跨域使用img.setAttribute('crossOrigin', 'anonymous');img.src = imgSrc;img.onload = function () {let imgWidth = img.width,imgHeight = img.height;let canvas = document.createElement('canvas'),ctx = canvas.getContext('2d');canvas.width = imgWidth;canvas.height = imgHeight;ctx.drawImage(img, 0, 0, imgWidth, imgHeight);dataURL = canvas.toDataURL(type);console.log(dataURL);callback && callback(dataURL)return dataURL}
}
参考文献:

[1] 用canvas的toDataURL()将图片转为dataURL(base64)
[2] canvas-toDataURL()将图片转为dataURL(base64)
[3] Uncaught SecurityError: Failed to execute ‘toDataURL’ on ‘HTMLCanvasElement’: Tainted canvases may not be exported.
[4] 原生js使用canvas实现图片格式webp/png/jpeg在线转换

canvas学习——toDataURL()方法相关推荐

  1. canvas的toDataURL()方法

    canvas的toDataURL()方法是返回一个包含图片展示的 数据URL.可以使用 type 参数其类型,默认为 PNG 格式.图片的分辨率为96dpi. 一.语法 canvas.toDataUR ...

  2. 使用canvas的toDataURL方法将图片转为base64报错:Tainted canvases may not be exported

    toDataURL()报错 在使用Canvas对图片进行裁切功能时,用到了toDataURL方法. 在调试过程中,发现执行到该方法是会报以下错误: Uncaught DOMException: Fai ...

  3. html5 图片文字提取,HTML5 Canvas:获取canvas内容-toDataURL()

    我们可以通过canvas的toDataURL()方法来获取绘制在HTML5 canvas中的内容.做法类似下面的示例代码: var canvas = document.getElementById(& ...

  4. java todataurl_利用canvas中toDataURL()将图片转为dataURL(base64)的方法详解

    将图片转为base64的好处 将图片转换为Base64编码,可以让你很方便地在没有上传文件的条件下将图片插入其它的网页.编辑器中. 这对于一些小的图片是极为方便的,因为你不需要再去寻找一个保存图片的地 ...

  5. canvas生成图片toDataURL报错的原因和解决方法

    canvas生成图片toDataURL报错的原因和解决方法 参考文章: (1)canvas生成图片toDataURL报错的原因和解决方法 (2)https://www.cnblogs.com/suna ...

  6. java todataurl_html2canvas 转化的 canvas 不能调用toDataURL 方法?

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 //将dom树转换为canvas function print_body() { var test = $('div.helloworld'); html ...

  7. canvas学习和滤镜实现

    最近学习了 HTML5 中的重头戏-- canvas .利用 canvas,前端人员可以很轻松地.进行图像处理.其 API 繁多,这次主要学习常用的 API,并且完成以下两个代码: 实现去色滤镜 实现 ...

  8. html5无法处理像素点导致图片花了,教你使用Canvas处理图片的方法

    Canvas,中文译为"画布",HTML5中新增了元素,可以结合JavaScript动态地在画布中绘制图形. 今天,我们不讲Canvas的图形绘制,而是讲如何对图片进行处理. 大概 ...

  9. 小猿圈html5教程之canvas绘制线段方法

    HTML5现在是时下较火的编程语言之一,但是对于怎么学习很多朋友都是不了解的,不知道从何处下手,针对以上内容小猿圈web前端讲师每天会分享一个web前端知识,希望对你的前端学习有一定的帮助,今天分享的 ...

最新文章

  1. [CSS] .class1.class2和.class1 .class2的区别
  2. 椭圆极点极线性质_笔记:关于极点极线的一些思考
  3. 第十六章:SpringCloud Config 配置自动刷新
  4. P3211 [HNOI2011]XOR和路径
  5. 最早会外语的人,是怎么回事
  6. BZOJ2754 [SCOI2012]喵星球上的点名
  7. 第六章jQuery选择器
  8. js实现数字转换大写金额
  9. 单片机数码管显示原理
  10. 分布式系统的发展历程
  11. Yara、Snort和Sigma规则
  12. dkp管理系统 php,RB!DKP v3.1.8 Build
  13. 终端节点、叶子节点和分支结点和非终端结点区别,数据结构常见误区答疑
  14. 有什么样的将军就有什么样的兵
  15. docker配置redis
  16. 云服务器和vps主机有什么 区别,到底哪个更好?
  17. oracle客户端12560,windows下 sqlplus / as sysdba 报ora-12560的终极解决方法
  18. 安装配置CentOS
  19. JAVA 如何使用延迟
  20. 项目成本管理名词解析

热门文章

  1. 南非储备银行新报告增强该国加密货币监管清晰度
  2. [游戏代码]求生之路插件-服务器中文名称
  3. 追求截图的极致-牛牛截图再添新成员-截长图功能
  4. C. Game Master
  5. Unity平滑函数Lerp简单介绍
  6. python3.x 基础三:字符集问题
  7. DevOps——简析
  8. 在使用python中的使用 shapely 时报错
  9. 测试防火墙系统3(转)
  10. 五星级“移动酒店”,一种让你意想不到的奢华旅行方式