濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > html2canvas生成的圖片偏移不完整的解決方法

html2canvas生成的圖片偏移不完整的解決方法

熱門標(biāo)簽:機(jī)器人外呼系統(tǒng)存在哪些能力 高德地圖標(biāo)注地點(diǎn)糾錯(cuò) 只辦理400電話 如何獲取地圖標(biāo)注客戶 電話機(jī)器人電銷系統(tǒng)掙話費(fèi) 南昌仁和怎么申請(qǐng)開(kāi)通400電話 平?jīng)龅貓D標(biāo)注位置怎么弄 電話機(jī)器人黑斑馬免費(fèi) 拓展地圖標(biāo)注

情景一:

問(wèn)題背景:生成的圖片在一個(gè)彈窗里面,如果頁(yè)面沒(méi)有滾動(dòng)條就是正常的,但是一旦出現(xiàn)滾動(dòng)條并且頁(yè)面發(fā)生滾動(dòng)時(shí)html2canvas繪制成的圖片就會(huì)偏移出對(duì)應(yīng)滾動(dòng)高度的白邊,如下:


 

解決辦法
 

樓主查了很多資料,也用了很多方法都沒(méi)能解決這個(gè)問(wèn)題,一氣之下打算研究研究html2canvas的配置參數(shù),果不其然,在配置參數(shù)RenderOptions下找到如下配置


 

眼尖的樓主立馬發(fā)現(xiàn)了scrollY這個(gè)東西。沒(méi)錯(cuò),這個(gè)肯定是配置偏移量的對(duì)吧,既然你是向下偏移我頁(yè)面滾動(dòng)的高度,那我把scrollY設(shè)置為負(fù)的那不就好了嗎,說(shuō)干就干。于是樓主設(shè)置了{scrollY: -window.pageYOffset},結(jié)果發(fā)生詭異的事,它倒是不向下偏移了,卻開(kāi)始向上偏移,如下


 

這個(gè)世界是怎么了,于是樓主又設(shè)置{scrollY: 0},再次查看,解決了。
 


 

原來(lái),是因?yàn)樵诓辉O(shè)置scrollY的情況下,canvas繪制頁(yè)面時(shí)會(huì)根據(jù)全局頁(yè)面的滾動(dòng)情況自動(dòng)向下偏移。當(dāng)然了,scrollX也是一樣的道理。

奉上代碼:
 

scrollY: 0, 其他的參數(shù)根據(jù)自己情況配置,這個(gè)參數(shù)一定不能少

var htmlDom = document.getElementsByClassName('dialog_content')[0];

html2canvas(htmlDom, {
    logging: false, //日志開(kāi)關(guān),便于查看html2canvas的內(nèi)部執(zhí)行流程
    width: htmlDom.clientWidth, //dom 原始寬度
    height: htmlDom.clientHeight,
    scrollY: 0, 
    scrollX: 0,
    useCORS: true // 【重要】開(kāi)啟跨域配置
}).then(canvas => {
    var url = canvas.toDataURL();//圖片地址
    htmlDom.appendChild(canvas);
});

情景二:
 

用html2canvas繪制完圖片后,始終會(huì)有個(gè)偏移距離,之前的解決辦法是設(shè)scrollY: 0,scrollX: 0這兩個(gè)參數(shù)為0,但是這次怎么弄都不行,最后排查出的原因是因?yàn)槔L制的box上加了transform:translateX(-50%)這個(gè)樣式。

解決辦法:

用戶繪圖的區(qū)域不用transform來(lái)定位,換一種沒(méi)有偏移的方式,比如設(shè)置百分比或者固定寬高。

到此這篇關(guān)于html2canvas生成的圖片偏移不完整的解決方法的文章就介紹到這了,更多相關(guān)html2canvas生成圖片偏移內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持腳本之家!

標(biāo)簽:新疆 棗莊 西藏 漯河 永州 青島 遼源 池州

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《html2canvas生成的圖片偏移不完整的解決方法》,本文關(guān)鍵詞  html2canvas,生成,的,圖片,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《html2canvas生成的圖片偏移不完整的解決方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于html2canvas生成的圖片偏移不完整的解決方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    加查县| 富平县| 湘潭市| 绥棱县| 徐汇区| 绥化市| 高淳县| 北川| 榆中县| 南江县| 通许县| 张家口市| 康乐县| 密山市| 阳山县| 阿城市| 正定县| 饶平县| 巴彦县| 赤壁市| 临汾市| 榆树市| 兴安县| 民乐县| 成都市| 余庆县| 德昌县| 日土县| 六枝特区| 宣恩县| 元氏县| 元朗区| 营口市| 西城区| 扶风县| 安溪县| 仪征市| 广安市| 依安县| 五峰| 平潭县|