首页 > 其他分享 >canvas导出图片方法总结

canvas导出图片方法总结

时间:2022-12-10 13:06:29浏览次数:69  
标签:总结 canvas url newImg 导出 URL toBlob blob

1.直接调用canvas对象的toDataURL方法转化为指定类型

var newImg = new Image();
newImg.src=canvas.toDataURL("image/png"));

2.利用canvas对象的toBlob方法

​https://developer.mozilla.org/zh-CN/docs/Web/API/HTMLCanvasElement/toBlob​

先通过​​toBlob​​将canvas对象转化为二进制对象,通过参数形式传入函数

然后利用​​URL.createObjectURL​​方法根据传入的参数创建一个指向该参数blob对象的url,然后把url赋给img的src属性即可

canvas.toBlob && canvas.toBlob(function(blob) {
  var url = URL.createObjectURL(blob);
  var newImg = new Image();
  newImg.onload = function() {
    URL.revokeObjectURL(url)
  };
  newImg.src=url;
};

URL.revokeObjectURL()方法会​​销毁​​一个通过URL.createObjectURL()创建的对象URL。

当你要把url赋给newImg之后,并且浏览器已经onload成功这个img,那么此时就再不需要指向blob对象的url,这个时候就应该把这个对象销毁掉,避免占用内存。

箴言:因为这些东西是非常简单的。不要抱怨自己学不会,那是因为你没有足够用心。



标签:总结,canvas,url,newImg,导出,URL,toBlob,blob
From: https://blog.51cto.com/echohye/5927470

相关文章

  • C++日期和时间编程总结
    在C++11之前,C++编程只能使用C-style日期时间库,其精度只有秒级别,这对于有高精度要求的程序来说,是不够的。但这个问题在C++11中得到了解决,C++11中不仅扩展了......
  • 【MySQL】将查询结果导出到一个文件
    (1)SQL示例如下,要将如下的SQL查询结果导出到一个txt文件,便于研发做结果内容的核对selectps_partkey,sum(ps_supplycost*ps_availqty)asvaluefrompartsupp,......
  • 实验0:MFC对话框试水(自己对于MFC的总结,慢慢更新(老师的ppt挺枯燥难懂的,我自己整理一份知
    工具是vistualstudio2022MFC对话框制作首先当然要生成一个MFC对话框第一步:第二步:第三步:成果:(稍微放点控件上去)点击某个控件就能进入其对应的代码段,还挺方便......
  • 一个普通前端的2022年终总结:多病的一年
    多病用一个词总结我的2022,毫无疑问是【多病】。翻看挂号记录,今年累计跑了19次医院,除去定期的脱发复查、尿常规复查外,其他还得了皮肤病、急性咽炎、筋膜炎、结膜炎、肾结石......
  • JavaScript入门⑩-ES6归纳总结
    JavaScript入门系列目录JavaScript入门①-基础知识筑基JavaScript入门②-函数(1)基础{浅出}JavaScript入门③-函数(2)原理{深入}执行上下文JavaScript入门④-万物皆......
  • 后端返回文件流或文件链接,前端如何实现Excel文件自定义文件名导出
    一、问题与需求无聊的一天,后端给了一个Excel文件链接,需要前端实现Excel文件自定义文件名下载很多人肯定会想到一下方法consta=document.createElement('a');a.d......
  • postgresql报错总结
    报错一:[postgres@vm-node2~]$psqlpsql:couldnotconnecttoserver:NosuchfileordirectoryIstheserverrunninglocallyandacceptingconnectionsonUnix......
  • MarkDown 入门学习总结教程
    Webelievethatwritingisaboutcontent,aboutwhatyouwanttosay–notaboutfancyformatting.译文:我们坚信写作写的是内容,所思所想,而不是花样格式.Markdo......
  • iOS面试题及答案大总结
    1.写一个NSString类的实现+(id)initWithCString:(c*****tchar*)nullTerminatedCStringencoding:(NSStringEncoding)encoding;+(id)stringWithCString:(c*****tch......
  • BLOG-3总结
    一、前言通过最近的学习,java大致的内容都有一定的了解与练习。这几次的作业难度较大,不过按照老师的类图,经行分类,写起来的难度降低了不少。题目集六:①、座机计费题目,通过......