vue如何將html內(nèi)容轉(zhuǎn)為圖片并下載到本地
將html內(nèi)容轉(zhuǎn)為圖片并下載到本地
需求:將自己寫的html內(nèi)容轉(zhuǎn)化為圖片并可以下載到本地
1.安裝html2canvas
npm install --save html2canvas
2.在自己所需要的頁面進行引入
import html2canvas from "html2canvas";
3.html
<div class="popuptop" id="img"> ? ? <div class="pupupbg"> ? ? ? ? 內(nèi)容內(nèi)容內(nèi)容 ? ? </div> </div> ?<div class="weixin" @click="downimg"> ? ? ?<div class="weixinlogo" > ? ? ? ? ?<img src="../../assets/images/mypage/down.png"> ? ? ? ? ? <p class="weixinshare" >下載</p> ? ? ? </div> </div> <a id="downimg" href="" style=" rel="external nofollow" display:none"></a>
4.JS
//下載圖片 let downimg= ()=>{ ? setTimeout(()=>{ ? ? proxy.$nextTick(()=>{ ? ? ? html2canvas(document.querySelector('#img'),{ ? ? ? ? useCORS: true ? ? ? }).then(canvas => { ? ? ? ? var url = canvas.toDataURL() ? ? //把canvas轉(zhuǎn)成base64 ? ? ? ? // 寫一個隱藏的按標簽,借助按標簽的download屬性下載圖片 ? ? ? ? document.querySelector('#downimg').href = url ? ? ? ? document.querySelector('#downimg').download = "我的持倉報告.png" ? ? ? ? document.querySelector('#downimg').click() ? ? ? }) ? ? }) ? },2000) }
以上代碼就能實現(xiàn)將html內(nèi)容轉(zhuǎn)為圖片并下載到本地。
vue將html頁面轉(zhuǎn)為圖片并且下載該圖片
1.下載 html2canvas
npm install html2canvas
2.對應(yīng)頁面引入該插件
import html2canvas from 'html2canvas';
3.具體用法 (要element使用帶有一些(可選)選項的 html2canvas 呈現(xiàn),只需調(diào)用html2canvas(element, options);)
html2canvas(document.body).then(function(canvas) { ? ? document.body.appendChild(canvas); });
4.轉(zhuǎn)為圖片并且下載
<template> ?? ?<div> ?? ??? ?<div class="container" ref="imageDom">hahahah</div> ?? ??? ?<button @click="toImage">導(dǎo)出</button> ?? ?</div> </template>
在methods方法中:
toImage() { ? ? html2canvas(this.$refs.imageDom, { ? ? ? ? backgroundColor: '#ffffff' ? ? }).then(canvas => { ? ? ? ? var imgData = canvas.toDataURL("image/jpeg"); ? ? ? ? this.fileDownload(imgData); ? ? }) }, fileDownload(downloadUrl) { ? ? let aLink = document.createElement("a"); ? ? aLink.style.display = "none"; ? ? aLink.href = downloadUrl; ? ? aLink.download = "監(jiān)控詳情.png"; ? ? // 觸發(fā)點擊-然后移除 ? ? document.body.appendChild(aLink); ? ? aLink.click(); ? ? document.body.removeChild(aLink); },
效果圖:
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
element?ui?日期選擇器el-date-picker如何修改指定日期背景(點擊指定背景色日期變深色)
這篇文章主要介紹了element?ui?日期選擇器el-date-picker?修改指定日期背景,點擊指定背景色日期變深色,本文通過實例效果展示給大家介紹的非常詳細,感興趣的朋友一起看看吧2024-07-07vue-loader和webpack項目配置及npm錯誤問題的解決
這篇文章主要介紹了vue-loader和webpack項目配置及npm錯誤問題的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-07-07vue如何導(dǎo)出json數(shù)據(jù)為excel表格并保存到本地
這篇文章主要介紹了vue如何導(dǎo)出json數(shù)據(jù)為excel表格并保存到本地問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07vue使用原生js實現(xiàn)滾動頁面跟蹤導(dǎo)航高亮的示例代碼
這篇文章主要介紹了vue使用原生js實現(xiàn)滾動頁面跟蹤導(dǎo)航高亮的示例代碼,滾動頁面指定區(qū)域?qū)Ш礁吡痢P【幱X得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-10-10基于Vue組件化的日期聯(lián)動選擇器功能的實現(xiàn)代碼
這篇文章主要介紹了基于Vue組件化的日期聯(lián)動選擇器的實現(xiàn)代碼,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2018-11-11