最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

html5使用canvas實(shí)現(xiàn)圖片下載功能的示例代碼

  發(fā)布時(shí)間:2017-08-26 17:18:26   作者:hczhi88   我要評(píng)論
這篇文章主要介紹了html5使用canvas實(shí)現(xiàn)圖片下載功能的示例代碼,非常具有實(shí)用價(jià)值,需要的朋友可以參考下

最近項(xiàng)目中需要實(shí)現(xiàn)一個(gè)下載圖片的功能(如下圖)

一開始考慮使用a標(biāo)簽的download屬性進(jìn)行下載:

<a href="圖片src" download="下載海報(bào)">
下載海報(bào)
</a>

但是通過測試,發(fā)現(xiàn)再safari中,下載的文件不能帶上拓展名,所以只好換一個(gè)思路,使用canvas進(jìn)行處理。

1.圖片需要添加crossOrigin='anonymous'設(shè)置圖像的跨域?qū)傩?/p>

img.crossOrigin = 'anonymous';

2.使用toDataURL把圖片轉(zhuǎn)換成base64格式

canvas.toDataURL("image/png")

3.使用模擬點(diǎn)擊事件,觸發(fā)下載

 var save_link = document.createElement('a');
     save_link.href = image;
     save_link.download ='測試.png';
                           
 var clickevent = document.createEvent('MouseEvents');
     clickevent.initEvent('click', true, false);
     save_link.dispatchEvent(clickevent);

完整代碼:

var canvas = $('.canvas');
var cxt = canvas[0].getContext("2d");
function save(){
    var img = new Image();
    img.crossOrigin = 'anonymous';
    img.onload = function(){
        var _w = img.naturalWidth;
        var _h = img.naturalHeight;
        canvas.attr({width:_w,height:_h});
        cxt.drawImage(img,0,0);
        var image = canvas[0].toDataURL("image/png")
        var save_link = document.createElement('a');
        save_link.href = image;
        save_link.download ='測試.png';
                           
       var clickevent = document.createEvent('MouseEvents');
           clickevent.initEvent('click', true, false);
           save_link.dispatchEvent(clickevent);
    };
    img.src = 'http://n.sinaimg.cn/sports/transform/20170825/NZI3-    fykiufe6650492.jpg';
}

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

相關(guān)文章

最新評(píng)論

许昌县| 霍林郭勒市| 彰化县| 马龙县| 固镇县| 同仁县| 正镶白旗| 万全县| 县级市| 河北省| 黔江区| 兰西县| 杭锦旗| 庐江县| 本溪市| 宁城县| 巴里| 吉林市| 康平县| 潍坊市| 定远县| 丰镇市| 永修县| 广西| 庄浪县| 双柏县| 萝北县| 昌都县| 海丰县| 义乌市| 临颍县| 尼木县| 青海省| 宣城市| 济宁市| 马关县| 延边| 原阳县| 交口县| 银川市| 资源县|