vue實現h5點擊保存圖片

我們要通過canvas繪圖和a標籤的download屬性來實現點擊保存圖片
示例:
HTML部分:

<div class="btn" @click="saveImg">保存海報</div>

js部分:

downloadIamge: function(imgsrc, name) {
    let image = new Image();
     image.setAttribute("crossOrigin", "anonymous");
     image.onload = function() {
       let canvas = document.createElement("canvas");
       canvas.width = image.width;
       canvas.height = image.height;
       let context = canvas.getContext("2d");
       context.drawImage(image, 0, 0, image.width, image.height);
       let url = canvas.toDataURL("image/png"); //得到圖片的base64編碼數據
       let a = document.createElement("a"); // 生成一個a元素
       let event = new MouseEvent("click"); // 創建一個單擊事件
       a.download = name || "海報"; // 設置圖片名稱沒有設置則爲默認
       a.href = url; // 將生成的URL設置爲a.href屬性
       a.dispatchEvent(event); // 觸發a的單擊事件
     };
     image.src = imgsrc;
   },
   saveImg: function() {
     this.downloadIamge(圖片地址, 圖片名稱);
   }
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章