LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

【JavaScript】純JS使用html2canvas對網(wǎng)頁指定內(nèi)容進行截圖使用教程

admin
2023年8月4日 18:47 本文熱度 1533

1 簡介

html2canvas屏幕截圖基于 DOM,因此可能不是 100% 準確到真實表示,因為它不會制作實際的屏幕截圖,而是根據(jù)頁面上可用的信息構(gòu)建屏幕截圖。

附件:html2canvas.rar

官網(wǎng)地址

2 安裝

2.1 es6 模塊化引入方式,項目中使用

npm install --save html2canvas// 或yarn add html2canvas123

2.2 js直引方式

<script src="http://html2canvas.hertzen.com/dist/html2canvas.js"></script>1

3 使用

基礎(chǔ)語法

html2canvas(element, options);1
import html2canvas from 'html2canvas';html2canvas(document.body,{}).then(function(canvas) {
    var imgUrl = canvas.toDataURL();
    //imgUrl即為圖片的base64形式});123456

4 屬性

屬性名默認值描述
allowTaintfalse是否允許跨域圖像。會污染畫布,導致無法使用canvas.toDataURL 方法
backgroundColor#ffffff畫布背景色(如果未在DOM中指定)。設(shè)置null為透明
canvasnull現(xiàn)有canvas元素用作繪圖的基礎(chǔ)
foreignObjectRenderingfalse如果瀏覽器支持,是否使用ForeignObject渲染
imageTimeout15000加載圖像的超時時間(以毫秒為單位)。設(shè)置0為禁用超時。
ignoreElements(element) => false謂詞功能,可從渲染中刪除匹配的元素。
loggingtrue啟用日志以進行調(diào)試
onclonenull克隆文檔以進行渲染時調(diào)用的回調(diào)函數(shù)可用于修改將要渲染的內(nèi)容,而不會影響原始源文檔。
proxynull代理將用于加載跨域圖像的網(wǎng)址。如果保留為空,則不會加載跨域圖像。
removeContainertrue是否清除html2canvas臨時創(chuàng)建的克隆DOM元素
scalewindow.devicePixelRatio用于渲染的比例。默認為瀏覽器設(shè)備像素比率。
useCORSfalse是否嘗試使用CORS從服務(wù)器加載圖像
widthElement widthcanvas的寬度
heightElement heightcanvas的高度
xElement x-offset裁剪畫布X坐標
yElement y-offset裁剪畫布y坐標
scrollXElement scrollX渲染元素時要使用的x滾動位置(例如,如果Element使用position: fixed)
scrollYElement scrollY呈現(xiàn)元素時要使用的y-scroll位置(例如,如果Element使用position: fixed)
windowWidthWindow.innerWidth渲染時使用的窗口寬度Element,這可能會影響媒體查詢之類的內(nèi)容
windowHeightWindow.innerHeight渲染時要使用的窗口高度Element,這可能會影響媒體查詢之類的內(nèi)容

解決圖片清晰度問題

屬性默認值描述
scalewindow.devicePixelRatio用于渲染的比例尺。默認為瀏覽器設(shè)備像素比率。

每個設(shè)備的window.devicePixelRatio的值不盡一樣,想清晰就調(diào)高,想壓縮大小就調(diào)低。但調(diào)的越高,圖片的生成時間就越長。

html2canvas(document.body,{ scale:1.3 }).then(function(canvas) {
    var imgUrl = canvas.toDataURL();
    //imgUrl即為圖片的base64形式});

該文章在 2023/8/4 18:50:38 編輯過

全部評論1

admin
2023年8月4日 18:49
為確保穩(wěn)定,可以延遲加載:

setTimeout(function () {

html2canvas($('#img_html')[0]).then(function (canvas) {

var img = new Image();

img.src = canvas.toDataURL('image/jpeg');  //或者:document.getElementById("tmp_pic").src= = canvas.toDataURL('image/jpeg');

})

}, 1000)

因為html是動態(tài)生成的,所以最好加上setTimeout延時轉(zhuǎn)換成canvas,不然可能html的dom元素還沒加載完。


該評論在 2023/8/4 18:49:34 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點晴ERP是一款針對中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點晴PMS碼頭管理系統(tǒng)主要針對港口碼頭集裝箱與散貨日常運作、調(diào)度、堆場、車隊、財務(wù)費用、相關(guān)報表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點,圍繞調(diào)度、堆場作業(yè)而開發(fā)的。集技術(shù)的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點晴WMS倉儲管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務(wù)都免費,不限功能、不限時間、不限用戶的免費OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
视频一区视频二区中文精品 | 午夜老司机免费在线观看中文字幕 | 亚洲第一线路在线观看 | 日本精品一区免费中文视频 | 最新国产在线不卡AV | 亚洲天堂一区二区 |