html2canvas截圖功能

// 截圖
        screenshot(){
            let canvas2 = document.createElement("canvas");
            let region = $("#screenshot");//需要截圖的那個div,並且需要加載完
            let w = parseInt(region.width());
            let h = parseInt(region.height());
            //將canvas畫布放大若干倍,然後盛放在較小的容器內,就顯得不模糊了
            canvas2.width = w * 2;
            canvas2.height = h * 2;
            //可以按照自己的需求,對context的參數修改,translate指的是偏移量
            let context = canvas2.getContext("2d");
            context.scale(2,2);
            context.mozImageSmoothingEnabled = false;//消除canvas文字鋸齒,感覺沒啥用
            context.webkitImageSmoothingEnabled = false;//消除canvas文字鋸齒,感覺沒啥用
            context.msImageSmoothingEnabled = false;//消除canvas文字鋸齒,感覺沒啥用
            context.imageSmoothingEnabled = false;//消除canvas文字鋸齒,感覺沒啥用
            html2canvas(region, {
                canvas: canvas2,
                useCORS: true,
                logging: true,
                taintTest: true,
                dpi: window.devicePixelRatio*2,
            }).then(canvas => {
                let imgUrl = canvas.toDataURL("image/png",1.0);//最終截圖圖片
                
            });
        },

這個例子絕對清晰,如果您的截圖還不清晰的話,那就是css3的樣式問題,特別注意,圖片不清晰的話,要使用img標籤,不要用設置背景圖片,高寬度最好不要設置百分比。
有些人截圖不全:那是因爲截圖區域超出可視窗口
有些人截圖樣式不顯示:canvas對於一些css3樣式不識別不能截下來,只能換方式

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章