在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  HTML/ html2canvas截圖的時候,dom元素設(shè)置為position absolu

html2canvas截圖的時候,dom元素設(shè)置為position absolute之后截取出的圖片,此dom元素內(nèi)容截取不到

問題描述

html2canvas截圖的時候,dom元素設(shè)置為position absolute之后截取出的圖片,此dom元素內(nèi)容截取不到

問題出現(xiàn)的環(huán)境背景及自己嘗試過哪些方法

google沒找到答案,但是確實去掉dom的position:absolute就可以截取出dom內(nèi)容

相關(guān)代碼

// 請把代碼文本粘貼到下方(請勿用圖片代替代碼)

   var copyDom = targetDom;
    copyDom.css(
        {
            'background-image':'url("./bg03.jpg")'
        }
    );
   /* $('body').append(copyDom);//把copy的截圖對象追加到body后面*/
    var width = copyDom.offsetWidth;//dom寬
    var height = copyDom.offsetHeight;//dom高
    var scale = 2;//放大倍數(shù)
    var canvas = document.createElement('canvas');
    canvas.width = width*scale;//canvas寬度
    canvas.height = height*scale;//canvas高度
    var content = canvas.getContext("2d");
    content.scale(scale,scale);
    var rect = copyDom.get(0).getBoundingClientRect();//獲取元素相對于視察的偏移量
    content.translate(-rect.left,-rect.top);//設(shè)置context位置,值為相對于視窗的偏移量負(fù)值,讓圖片復(fù)位
    html2canvas(copyDom[0], {
       /* allowTaint:true,
        useCORS:true,
        tainTest:true,*/
        scale:scale,
        canvas:canvas,
        width:width,
        heigth:height,
        }).then(function (canvas) {
    downloadImage(canvas.toDataURL(),'xxx.png')
});

回答
編輯回答
青黛色

html2canvas確實會出現(xiàn)這個問題,之前做的項目里面遇到過這個問題,需求是點擊生成一個用戶專屬圖片(多個圖片,用戶姓名,評測結(jié)果等信息),最后解決方法是自己寫canvas解決(canvas尺寸最好是需求的2倍,然后縮小,不然在高分辨率手機(jī)上顯示會模糊),僅供參考

2018年4月5日 01:36