国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

html2Canvas常見問題以及解決

這篇具有很好參考價值的文章主要介紹了html2Canvas常見問題以及解決。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

近期開發(fā)在vue中引用了html2Canvas后,使用時遇到一些常見問題,簡單總結(jié)下:

簡單代碼使用格式:

 html2Canvas(document.getElementById("posterHide" + num), {
                // 轉(zhuǎn)換為圖片
                useCORS: true, // 解決資源跨域問題
                scale: 2, // 處理模糊問題
                //dpi: 300, // 處理模糊問題
                // width:document.documentElement.clientWidth,
                height:screen.availHeight //解決下方白邊問題
            }).then((canvas) => {
                let dataURL = canvas.toDataURL("image/jpeg");
                setTimeout(() => {
                    let a = document.getElementById("hidden-pic");
                    let img = document.createElement("img");
                    img.src = dataURL;
                   
                    img.style.width = "1080px";
                    img.style.height = "2340px";
                    img.style.display = "none";
                    img.id = "my_poster" + num;
                    a.appendChild(img);
                }, 100);
               
                    let link = document.createElement("a");
                    link.download = data.imgArr[parseInt(num)].title + ".jpeg";
                    link.href = dataURL;
                    link.click();

            });

1、下載時,微信或者企業(yè)微信不能直接下載圖片

闡述:生成圖片后,圖片下載通過添加a標(biāo)簽,添加download屬性進(jìn)行圖片下載

但是在微信開發(fā)里面失效了,理由很簡單,微信環(huán)境下不兼容download屬性,解決辦法,圖片可以通過長按下載

下面附上環(huán)境判斷代碼(判斷是否是微信或是企業(yè)微信環(huán)境判斷)

const isWx = /micromessenger/i.test(navigator.userAgent); // 是否微信
const isComWx = /wxwork/i.test(navigator.userAgent); // 是否企業(yè)微信
    if (isWx || isComWx) {
        //是否電腦微信或者微信開發(fā)者工具
           showDialog({ message: "請用瀏覽器打開,微信端和企業(yè)微信端不提供下載服務(wù)" 
       });

   

既然寫到這里了,附加判斷是否是PC端環(huán)境判斷

data.text = /Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent) ? "mobile_web端頁面" : "PC端頁面"

2、生成圖片模糊問題

圖片模糊問題我遇到好多次了,先說下網(wǎng)上常見手法

html2canvas,前端基礎(chǔ),前端,javascript,開發(fā)語言

利用這倆原始屬性

但這倆我都試了。作用不大,最那啥的是dpi在新版本里被改掉了

然后想了下,可能是因為:生成圖片區(qū)域大小<放置圖片區(qū)域大小 像素不夠了導(dǎo)致的,那我初始圖片大點不就好了

解決辦法:將原來的圖片放大(放大到比生成圖片區(qū)域大小 大),然后將放大的圖生成圖片,這樣把一張大的圖放到小的區(qū)域里,就不會模糊了

來了

html2canvas,前端基礎(chǔ),前端,javascript,開發(fā)語言

?生成圖片的大小,原始圖片大小要不要控制下

html2canvas,前端基礎(chǔ),前端,javascript,開發(fā)語言

寫了一個空的div專門存放原來的圖片

為了頁面不顯示出來原始的高清大圖,嘗試了把圖片置于底層:z-index

然后,很ok,雖然感覺不是這么玩的,但是下載圖片清晰!

3、生成圖片變形或者四周帶白邊

遇到過生成圖片變形的問題,底色如果是白的就會帶白邊

方法一:更改背景色

這個從網(wǎng)上看到的,很搞笑,你不是下面有個白邊嗎,那就把背景圖也改成白的

然后你就看不到白邊了。。但是你下載下來還是有啊

方法二:控制生成圖片大小

html2canvas,前端基礎(chǔ),前端,javascript,開發(fā)語言

這里

有個height和width屬性,他的值是數(shù)字類型的,然后這個值越大,生成圖片占據(jù) 背景反而越小

底色就漏出來了,值越小,占據(jù)背景反而越大,導(dǎo)致圖片顯示不全

那么如何控制這個合適的值

靈活一點,自己看自己用多少

固定區(qū)域直接寫固定值

我這個是項目需求,我是手機(jī)端,沒有用window,使用screen.availHeight來控制可視區(qū)域

4、html2Canvas使用網(wǎng)絡(luò)圖片跨域問題

本地圖片,項目里靜態(tài)文件夾圖片沒有問題,但是用網(wǎng)絡(luò)圖片就會出現(xiàn)跨域問題無法轉(zhuǎn)化的問題

html2canvas,前端基礎(chǔ),前端,javascript,開發(fā)語言

嘗試一:?

html2canvas,前端基礎(chǔ),前端,javascript,開發(fā)語言

html2canvas,前端基礎(chǔ),前端,javascript,開發(fā)語言

?這里有兩個屬性,一個是在img后面添加 crossorigin="anonymous"

下面配置屬性有個useCORS

嘗試二:檢查圖片格式

html2canvas,前端基礎(chǔ),前端,javascript,開發(fā)語言

要保持一致

如果不行繼續(xù)嘗試三:

更改圖片來源

我嘗試將圖片放ftp上,圖片還是有跨域問題,這就需要服務(wù)器配置了

我當(dāng)然沒配,我嘗試將圖片放到oss上,結(jié)果跨域問題解決了

所以先嘗試添加屬性,不行就檢查圖片來源,換個環(huán)境試試

我目前遇到這些問題,持續(xù)更新吧。。。文章來源地址http://www.zghlxwxcb.cn/news/detail-759243.html

到了這里,關(guān)于html2Canvas常見問題以及解決的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • html2canvas使用指南

    html2canvas使用指南

    ? 最近項目中需要使用到將網(wǎng)頁中的內(nèi)容下載成圖片,通過按鈕點擊將頁面保存下來,方便同事使用進(jìn)行工作匯報。如圖: 然后我想到了 html2canvas ,就可以解決我現(xiàn)在遇到的問題了。我火速從官網(wǎng)下載了js文件,這里附上鏈接: ? http://html2canvas.hertzen.com/ ?這里 ? html2canvas

    2024年02月14日
    瀏覽(21)
  • html2canvas截圖生產(chǎn)海報圖片

    圖片地址后添加?time=${new Date().valueOf()},不然會報圖片跨域報錯 原因:這是因為你img是在緩存數(shù)據(jù)中讀取的 并沒有訪問遠(yuǎn)程這個圖片的時候沒有攜帶請求頭。 確保你的圖片服務(wù)器支持CORS訪問,也就是會返回Access-Control-Allow-Origin等響應(yīng)頭;

    2024年02月02日
    瀏覽(29)
  • uniapp APP端使用html2canvas截圖分享小程序卡片圖片模糊、跨域等問題解決

    項目場景:uniapp? APP端,分享小程序到微信好友,使用html2canvas截取當(dāng)前頁面做卡片封面圖。僅是需要展示部分內(nèi)容用作卡片封面就可以,不強(qiáng)制需要全屏截圖。 問題1、部分頁面截取到的圖片分享到微信后卡片圖片模糊。 問題2、截圖時報錯:Failed to execute \\\'toDataURL\\\' on \\\'HTMLC

    2024年02月05日
    瀏覽(24)
  • 小程序采用html2canvas實現(xiàn)html轉(zhuǎn)canvas保存圖片

    mpaas小程序中采用html2canvas實現(xiàn)html轉(zhuǎn)canvas保存圖片 使用uniapp將代碼打包一份h5部署到服務(wù)器 h5要保存的圖片組件頁面report.vue 安裝 npm install --save html2canvas 或 yarn add html2canvas 引入import html2canvas from ‘html2canvas’; ts 小程序中采用webview跳轉(zhuǎn)到h5頁面

    2024年02月11日
    瀏覽(23)
  • vue2 -- 截圖工具h(yuǎn)tml2canvas

    可以將網(wǎng)頁中的指定元素或整個頁面截取為圖片,以便保存或分享。 在 Vue 中使用 html2canvas 實現(xiàn) 1:安裝 html2canvas 庫。你可以使用 npm 安裝,命令如下: 2:在需要使用 html2canvas 的 Vue 組件中,引入 html2canvas 庫: :3:編寫截圖邏輯。你可以在組件的方法中編寫,例如:

    2024年01月19日
    瀏覽(29)
  • vue使用html2canvas優(yōu)化---節(jié)點過濾

    vue使用html2canvas優(yōu)化---節(jié)點過濾

    當(dāng)你使用html2canvas對某個節(jié)點進(jìn)行截圖時,項目小dom節(jié)點少那還沒什么性能問題,如果是個大項目,有成百上千個dom節(jié)點,那將是非常頭疼的事情(產(chǎn)品經(jīng)理:小張啊,你這個截圖功能為什么需要這個長的時間,這讓客戶怎么用,重新改。小張:********...)。不多bb了,直接開

    2024年02月12日
    瀏覽(27)
  • html2canvas和jspdf實現(xiàn)html導(dǎo)出pdf文件

    實現(xiàn)原理 先使用html2canvas對頁面進(jìn)行截圖,再使用jspdf將截圖生成pdf文件 html2canvas:通過純JS對瀏覽器頁面進(jìn)行截圖 jspdf:一個基于 HTML5 的客戶端解決方案,用于在客戶端 JavaScript 中生成 pdf文件 的庫 安裝html2canvas和pdf 截圖源碼 1. 截長圖不分頁 2. 截圖分頁 導(dǎo)出pdf源碼 函數(shù)調(diào)

    2024年02月12日
    瀏覽(19)
  • 前端html2canvas生成截圖【實現(xiàn)步驟與踩坑】

    需求 :點擊下載可以導(dǎo)出組件的 截圖 及數(shù)據(jù)信息文件 分析 :前端生成組件截圖,帶著其他參數(shù)傳給后端,拿到excel文件并下載。關(guān)鍵在于生成組件的截圖,這里通過 html2canvas 插件來實現(xiàn)。 1.下載插件 npm install html2canvas 2.引入 3.通過ref拿到要下載組件的dom元素 4.通過html2ca

    2024年04月11日
    瀏覽(28)
  • Vue基于html2canvas和jspdf生成pdf文件,解決jspdf中文亂碼及自動換行等問題

    Vue基于html2canvas和jspdf生成pdf文件,解決jspdf中文亂碼及自動換行等問題

    在做項目時有這么一個需求,需要將當(dāng)前頁面指定區(qū)域的內(nèi)容導(dǎo)出pdf到本地。借助了兩個插件分別是html2canvas.js和pdf.js來實現(xiàn)。使用過程中遇到的問題及解決方法 解決一些問題: 導(dǎo)出按A4紙大小排列 預(yù)留頁面邊距的問題 內(nèi)容過多自動分頁的問題 直接使用jspdf中文亂碼的問題

    2024年01月25日
    瀏覽(67)
  • html2canvas 下載圖片,scale、dpi處理圖像模糊

    1、安裝html2canvas 依賴 2、 引入html2canvas.js 3、html 4、方法,scale和dpi 解決模糊 html2canvas.js是從git上下載的: https://github.com/eKoopmans/html2canvas/tree/develop/dist 單純下載圖片方法 === 參考: 1、解決html2canvas截圖模糊的問題 2、html2canvas生成圖片模糊 不清楚?兩種解決方法 3、html2canvas在

    2024年02月17日
    瀏覽(22)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包