web建站教程
  1. 首页
  2. vuejs
  3. js
  4. 好玩
  5. AIGC工具
  6. 前端知识
  7. 百度echarts
  8. 更多
    php入门
    nodejs
    mockjs
    reactjs
    mysql
    wordpress
    织梦cms
    帝国cms
    git教程
    IT知识
    模板大全
    休息站
    手机应用

html2canvas生成图片后下载太慢解决方法(dom-to-image)

1123 ℃

问题描述:利用html2canvas插件把div内容生成png图片并且下载,运气好的时候会有几秒钟延迟,有时候会出现10s延迟。

解决方法:利用dom-to-image插件来替换html2canvas插件。

dom-to-image 是一个将 DOM 元素转换成图片的 JavaScript 库。它可以将网页中的某个元素转换为图片,并支持将多个元素转换为同一图片中的叠加效果。

具体实现步骤如下:

1、引入js库

<script src="/js/dom-to-image.min.js"></script>

2、执行photo按钮代码:

function photo(){
  var node = document.querySelector("#map");
  domtoimage.toPng(node).then(function (dataUrl) {
    downloadFile('下载图片名称.png',dataUrl);
  });
};

function downloadFile(fileName, content) {
  let aLink = document.createElement('a');
  let blob = base64ToBlob(content); //new Blob([content]);
  let evt = document.createEvent("HTMLEvents");
  evt.initEvent("click", true, true);
  aLink.download = fileName;
  aLink.href = URL.createObjectURL(blob);
  aLink.dispatchEvent(new MouseEvent('click', {bubbles: true, cancelable: true, view: window}));
}

function base64ToBlob(code) {
  let parts = code.split(';base64,');
  let contentType = parts[0].split(':')[1];
  let raw = window.atob(parts[1]);
  let rawLength = raw.length;
  let uInt8Array = new Uint8Array(rawLength);
  for (let i = 0; i < rawLength; ++i) {
    uInt8Array[i] = raw.charCodeAt(i);
  }
  return new Blob([uInt8Array], {type: contentType});
}

一款专门用于在JavaScript和TypeScript的货币处理工具库——Dinero.js

一款开源JavaScript库,实现图片背景色智能提取与融合——AutoHue.js

一款免费开源的 JavaScript 数据库——PouchDB

一款用于在网页上生成五彩纸屑特效的JavaScript库——Canvas Confetti

javascript利用pinyin库把汉字转拼音(不带声调)

标签: dom-to-image, html2canvas, JavaScript库

上面是“html2canvas生成图片后下载太慢解决方法(dom-to-image)”的全面内容,想了解更多关于 js 内容,请继续关注web建站教程。

当前网址:https://ipkd.cn/webs_5104.html

声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

当前位置: 网站首页 > js
本文共计1047个字,预计阅读时长7分钟
Trae:新一代免费的AI编程工具

基金从业资格考试题库

一站式备考基金从业资格考试,收录2021-2025年模拟题库!呱呱工具箱

AI工作站

收录全球3800+ 款各行各业AI应用,轻轻松松做事!
生活小工具,收录了80多款小工具
上一篇: 程序员正能量文案:乐观积极的治愈系文案,朋友圈满满向上动力句子
下一篇: Lunar组件如何利用I18n实现多语言功能
x 打工人ai神器