htmlcanvas2 傳入節點生成圖片
/**
- htmlcanvas2 傳入節點生成圖片
*/
canvas canvas.toDataURL 圖片太大會導致儲存失敗,解析出來的超出了瀏覽器對於url的限制 故使用canvas.toBlob
import html2canvas from ‘html2canvas’;
/**
- htmlcanvas2 傳入節點生成圖片
- @param {*} node 節點
/
export function captureScreen(node) {
// 呼叫html2canvas外掛
html2canvas(node, {
allowTaint: false,
foreignObjectRendering: true,
taintTest: false,
useCORS: true,//火狐瀏覽器新增項
}).then(canvas => {
var image = canvas.toDataURL(“image/png”).replace(“image/png”, “image/octet-stream”);
var userAgent = navigator.userAgent;
//判斷是否是IE11
if (-1 !== userAgent.indexOf(“Trident”)) {
var arr = image.split(’,’);
var mime = arr[0].match(/?.?);/)[1];
var bstr = atob(arr[1]);
var n = bstr.length;
var u8arr = new Uint8Array(n);
while (n–) {
u8arr[n] = bstr.charCodeAt(n);
}
window.navigator.msSaveBlob(new Blob([u8arr], { type: mime }), “download.png”);
} else {
canvas.toBlob(function (blob) {
const eleLink = document.createElement(‘a’);
eleLink.download = “img.png”;
eleLink.style.display = ‘none’;
// 字元內容轉變成blob地址
eleLink.href = URL.createObjectURL(blob);
// 觸發點選
document.body.appendChild(eleLink);
eleLink.click();
// 然後移除
document.body.removeChild(eleLink);
}, ‘image/png’, 1);
}
})
}
相關文章
- 上傳圖片生成base64
- 圖片上傳知識點梳理
- pyecharts生成圖片Echarts
- Flutter 生成圖片Flutter
- 圖片載入失敗解決方案 以及canvas即時生成提示圖片Canvas
- layui圖片懶載入-loading佔點陣圖UI
- 如何生成WebP圖片Web
- 上傳圖片
- 圖片上傳及圖片處理
- 圖片不能批量上傳 這點不太好
- java,springboot + thymeleaf 上傳圖片、刪除圖片到伺服器、本地,壓縮圖片上傳(有些圖片會失真),原圖上傳JavaSpring Boot伺服器
- 某AI圖片生成網AI
- 校驗碼圖片生成
- 基於canvas生成圖片Canvas
- android非同步生成圖片Android非同步
- java調節圖片大小Java
- 上傳圖片jsJS
- 裁剪上傳圖片
- electron上傳圖片
- 前端效能優化-圖片懶載入(防抖、節流)前端優化
- canvas簽名圖片上傳及入庫問題Canvas
- WebRTC從攝像頭獲取圖片傳入canvasWebCanvas
- KindEditor 圖片上傳後生成帶域名絕對路徑配置方法
- vue 上傳圖片進行壓縮圖片Vue
- midjourney 生成相似型別圖片型別
- 如何使用 resnet 生成圖片向量?
- golang 生成圖片驗證碼Golang
- Android生成圖片並放入相簿Android
- php生成二維碼圖片PHP
- url 生成二維碼圖片
- 匯入圖片
- 上傳圖片 以及做成縮圖
- 測試圖片上傳
- spring boot 圖片上傳Spring Boot
- 本地Markdown上傳圖片
- 多圖片formpost上傳ORM
- input file圖片上傳
- Ueditor 上傳圖片自動新增水印(只能上傳圖片,上傳檔案報錯)