佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > html2canvas把div保存圖片高清圖的方法示例

html2canvas把div保存圖片高清圖的方法示例

熱門(mén)標(biāo)簽:檢查注冊(cè)表項(xiàng) 使用U盤(pán)裝系統(tǒng) 美圖手機(jī) 硅谷的囚徒呼叫中心 阿里云 網(wǎng)站建設(shè) 智能手機(jī) 百度競(jìng)價(jià)點(diǎn)擊價(jià)格的計(jì)算公式

本文介紹了html2canvas把div保存圖片高清圖的方法示例,分享給大家,具體如下:

http://www.bootcdn.cn/(可以搜索html2canvans)

1.選擇html2canvas版本(這個(gè)版本可以放大倍數(shù)保證圖片清晰)

默認(rèn)生成的 canvas 圖片在 retina 設(shè)備上顯示很模糊,處理成 2 倍圖能解決這個(gè)問(wèn)題:

var w = $("#code").width();
var h = $("#code").height();

//要將 canvas 的寬高設(shè)置成容器寬高的 2 倍
var canvas = document.createElement("canvas");
canvas.width = w * 2;
canvas.height = h * 2;
canvas.style.width = w + "px";
canvas.style.height = h + "px";
var context = canvas.getContext("2d");
//然后將畫(huà)布縮放,將圖像放大兩倍畫(huà)到畫(huà)布上
context.scale(2,2);

html2canvas(document.querySelector("#code"), {
    canvas: canvas,
    onrendered: function(canvas) {
        ...
    }
});

下載方法:

.on('click','.download',function(){
                $('#mycanvas').remove();
                var _height=$('.skinReport').height();
                //滾到頂部
                $('html, body').animate({scrollTop:0});

                if(confirm('是否下載肌膚檢測(cè)報(bào)告?'))
                {

                    setTimeout(function(){
                        var canvas = document.createElement("canvas"),
                            w=$('#skinReport').width(),
                            h=$('#skinReport').height();
                        canvas.width = w * 2;
                        canvas.height = h * 2;
                        canvas.style.width = w + "px";
                        canvas.style.height = h + "px";
                        var context = canvas.getContext("2d");
//然后將畫(huà)布縮放,將圖像放大兩倍畫(huà)到畫(huà)布上
                        context.scale(2,2);
                        html2canvas(document.getElementById('skinReport'), {
                            allowTaint: false,
                            taintTest: true,
                            canvas: canvas,
                            onrendered: function(canvas) {
                                canvas.id = "mycanvas";
                                canvas.style.display = 'none';
                                document.body.appendChild(canvas);
                                //生成base64圖片數(shù)據(jù)

                                imgData = canvas.toDataURL(type);
                                //var newImg = document.createElement("img");
                                //newImg.src =  dataUrl;
                                //document.body.appendChild(newImg);
                                //console.log(imgData);

                                var _fixType = function(type) {
                                    type = type.toLowerCase().replace(/jpg/i, 'jpeg');
                                    var r = type.match(/png|jpeg|bmp|gif/)[0];
                                    return 'image/' + r;
                                };
                                // 加工image data,替換mime type
                                imgData = imgData.replace(_fixType(type),'image/octet-stream');
                                /**
                                 * 在本地進(jìn)行文件保存
                                 * @param  {String} data     要保存到本地的圖片數(shù)據(jù)
                                 * @param  {String} filename 文件名
                                 */
                                var saveFile = function(data, filename){
                                    var save_link = document.createElementNS('http://www.w3.org/1999/xhtml', 'a');
                                    save_link.href = data;
                                    save_link.download = filename;

                                    var event = document.createEvent('MouseEvents');
                                    event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
                                    save_link.dispatchEvent(event);
                                };

                                // 下載后的問(wèn)題名
                                var filename = aname+'肌膚檢測(cè)報(bào)告' + (new Date()).getTime() + '.' + type;
                                // download
                                saveFile(imgData,filename);
                            },
                            width:1512,
                            height:15000
                        })
                    },2500)
                }
                else
                {
                    return;
                }

            })

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

標(biāo)簽:賀州 湖北 湘潭 山南 懷化 煙臺(tái) 黃山 通遼

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《html2canvas把div保存圖片高清圖的方法示例》,本文關(guān)鍵詞  ;如發(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)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話(huà)咨詢(xún)

    • 400-1100-266
    尖扎县| 定边县| 即墨市| 曲水县| 泰和县| 莱州市| 商水县| 葫芦岛市| 永平县| 出国| 攀枝花市| 丰顺县| 信阳市| 博爱县| 西畴县| 阜阳市| 韶关市| 安化县| 明溪县| 河池市| 金山区| 平乡县| 九江县| 榆社县| 慈溪市| 法库县| 辽宁省| 竹北市| 丹凤县| 昌吉市| 砚山县| 肇源县| 环江| 福鼎市| 皮山县| 衡阳县| 德令哈市| 融水| 涿州市| 抚州市| 霍城县|