日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

使用vue實現HTML頁面生成圖片的方法

瀏覽:53日期:2023-01-31 15:31:10

隨著網絡的發展,越來越多的網絡平臺應運而生。如何獲得更多的流量,吸引更多的眼球已經成為網絡平臺生存、發展的必要條件。現在網絡平臺最常見的一種宣傳方式就是人邀人。

我最近就接到一個需求,做一個 海報頁面,并且能保存到手機 ,方便用戶分享給朋友,希望能夠達到人邀人的效果。

使用vue實現HTML頁面生成圖片的方法

給人第一感覺這個需求就是保存圖片的功能,當時梳理是卻發現不是那么簡單:

1.動態生成一張帶logo的二維碼 2.整個海報的html部分轉化成圖片 3.保存圖片至手機相冊

生成帶logo的二維碼

用 vue_qrcodes 生成帶logo的二維碼

安裝

npm install vue_qrcodes -- save

使用

<!--部分html代碼--><qrcode :url='qrcodeUrl' :iconurl='iconurl' :wid='298' :hei='278' :imgwid='100' :imghei='100'></qrcode>// 部分js代碼import qrcode from ’vue_qrcodes’//...省略其他代碼components: { qrcode }

問題來了:二維碼出現了,但是二維碼和logo大小并不是你想要,無法自適應。那就需要我們重置二維碼和logo的樣式。

.logoimg { height: 100px !important; width: 100px !important; margin-top: -50px !important; margin-left: -50px !important; }#qrcode { margin-top: 20px; img { height: 278px !important; width: 298px !important; } }

html轉化為base64圖片

html轉化為canvas中我選用組件 html2canvas

yarn add html2canvas

import html2canvas from ’html2canvas’

為了防止頁面有閃屏我用了兩個div,一個存放原來的dom,一個存放canvas的生成的圖片,再v-if控制展示的元素。

使用vue實現HTML頁面生成圖片的方法

js調用函數:

htmlToCanvas() { html2canvas(this.$refs.bill, {}) .then((canvas) => { let imageUrl = canvas.toDataURL(’image/png’); // 將canvas轉成base64圖片格式 this.canvasImageUrl = imageUrl; this.isDom = false; });}// 二維碼地址this.qrcodeUrl = data.data.inviteCodeAddress// 調用html轉化canvas函數this.htmlToCanvas();

結果如圖:

使用vue實現HTML頁面生成圖片的方法

頁面轉化成了圖片,但是二維碼沒有展示出來,控制臺報錯:

使用vue實現HTML頁面生成圖片的方法

除二維碼其他部分已經轉化為圖片,二維碼不顯示,原因有兩種可能:

轉化時二維碼還沒有加載完成

轉化二維碼的過程中報錯了

首先嘗試了nextTick

使用 nextTick 將回調延遲到下次DOM更新循環之后執行

// 二維碼地址this.qrcodeUrl = data.data.inviteCodeAddress this.$nextTick(() => { // 跳用html轉化canvas函數 this.htmlToCanvas(); })

使用vue實現HTML頁面生成圖片的方法

發現二維碼出來了,但是二維碼的大小不對,并且控制臺還是存在報錯。雖然問題沒有完全解決,但是二維碼出現了。可以證明二維碼不展示的原因是,轉化時二維碼沒有加載完成。

再嘗試使用setTimeout

使用 setTimeout 將回調延遲到指定時間之后執行

// 二維碼地址this.qrcodeUrl = data.data.inviteCodeAddress setTimeout(()=>{ // 調用html轉化canvas函數 this.htmlToCanvas(); }, 200)

查看效果:

使用vue實現HTML頁面生成圖片的方法

注:setTimeout是我目前能想到延遲加載方法。各位大佬們,如果這個有更好的方法解決上面的問題,麻煩給留言,在此謝過。

頁面正常,控制臺沒有報錯,可是logo沒有展示出來。

logo地址是:

iconurl: ’https://static.daojia.com/assets/project/tosimple-pic/LOGO_1576564983633.png’,

項目在本地啟動,可能存在跨域問題。

htmlToCanvas() { html2canvas(this.$refs.bill, { useCORS: true // 解決圖片跨域問題 }).then((canvas) => { // 將canvas轉成base64圖片格式 let imageUrl = canvas.toDataURL(’image/png’); this.canvasImageUrl = imageUrl; this.isDom = false; }).catch((e) => console.log(e)); }

至此html成功轉化為圖片。

圖片保存至手機

首先嘗試了JS-SDK中的下載圖片downloadImage經過各種嘗試并不能實現。

最后采用的是微信長按保存圖片

海報部分已經轉化為圖片,無需再開發,只要提示用戶長按圖片可以保存即可。

使用vue實現HTML頁面生成圖片的方法

總結

到此這篇關于使用vue實現HTML頁面生成圖片的文章就介紹到這了,更多相關vue html頁面生成圖片內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Vue
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
欧美丰满日韩| 精品国产第一福利网站| 欧美日一区二区| 日韩欧美精品| 蜜桃精品在线| 国产一区欧美| 香蕉国产精品| 亚洲欧美日韩一区在线观看| 欧美资源在线| 亚州国产精品| 丝瓜av网站精品一区二区| 黄色亚洲大片免费在线观看| 狠狠爱www人成狠狠爱综合网| 久久精品不卡| 日韩精品免费一区二区三区| 性欧美xxxx免费岛国不卡电影| 国产一区日韩欧美| 99在线精品免费视频九九视| 国产亚洲毛片在线| 伊人国产精品| 国产日韩一区二区三免费高清| 免费日韩成人| 日本午夜大片a在线观看| 国产99精品| 伊人www22综合色| 少妇高潮一区二区三区99| 欧美一级一区| 98精品久久久久久久| 欧美一区二区三区高清视频| 蜜臀久久久久久久| 国产精品一区免费在线| 日韩.com| 伊人久久亚洲美女图片| 中文字幕av一区二区三区人| 欧美日韩亚洲一区二区三区在线| 国产不卡一区| 女主播福利一区| 日韩精品a在线观看91| 欧美国产免费| 精品捆绑调教一区二区三区| 午夜久久久久| 国产精品久久久免费| 亚洲欧洲美洲av| 在线精品国产亚洲| 精品免费视频| 99riav1国产精品视频| 国产日韩欧美三级| 99视频精品全国免费| 日韩和欧美的一区| 麻豆精品蜜桃| 日本不卡视频一二三区| 激情国产在线| 蜜臀av一区二区三区| 国产一区二区三区久久| 日韩精品一级二级| 精品视频黄色| 男人的天堂亚洲一区| 高清av一区| 中文字幕一区二区三区日韩精品| 精品久久中文| 日韩一区精品视频| 超碰超碰人人人人精品| 亚洲精品第一| 日韩美女一区二区三区在线观看| 日韩欧美美女在线观看| 1000部精品久久久久久久久| 久久超级碰碰| 亚洲午夜国产成人| 日韩成人亚洲| 国产精品午夜一区二区三区| 久久一区二区三区电影| 国产精品99久久免费| 尹人成人综合网| 欧美xxxx中国| 91福利精品在线观看| 国产精品7m凸凹视频分类| 久久99精品久久久野外观看| 日韩一区精品视频| 久久精品国产亚洲夜色av网站| 国产精品va| 四虎成人精品一区二区免费网站| 日韩综合精品| 国产精品毛片久久久| 日韩中文字幕区一区有砖一区 | 91亚洲国产| 日韩精品久久久久久久软件91| 亚洲调教视频在线观看| 美日韩一区二区三区| 一区二区三区午夜视频| 99精品在线免费在线观看| 美女高潮久久久| 午夜亚洲福利| 亚洲一区不卡| 99视频精品全国免费| 精品美女视频 | 国产精品久久久久久久免费观看| 欧美一区二区三区久久| 性色一区二区| 欧美aa国产视频| 日本不卡免费高清视频在线| 麻豆国产91在线播放| 欧美一级二级视频| 亚洲三级国产| 中文欧美日韩| 影院欧美亚洲| 亚洲国产成人精品女人| 久久精品亚洲人成影院 | 国产91在线播放精品| 国产精品网站在线看| 日本成人精品| 综合激情在线| 在线精品亚洲| 亚洲一区有码| 在线看片日韩| 最新亚洲国产| 日韩中文一区二区| 亚洲欧美网站在线观看| 丝袜诱惑制服诱惑色一区在线观看| 91九色精品| 一区在线视频观看| 亚洲先锋成人| 一区久久精品| 日韩视频二区| 美女久久一区| 亚洲精品进入| 日韩中出av| 欧美有码在线| 国产精品白丝久久av网站| 国产精品一区二区三区美女 | 婷婷综合电影| 欧美日韩午夜| 久久激五月天综合精品| 欧美天堂一区| 开心激情综合| 福利片在线一区二区| 日韩国产一区| 亚洲国内精品| 日韩精品一二三| 日韩av二区在线播放| 国产精品亚洲产品| 成人高清一区| 亚洲婷婷在线| 亚洲丝袜啪啪| 欧美日韩va| 国产一区二区三区精品在线观看| 超碰成人av| 五月天久久久| 亚洲91在线| 久久亚洲资源中文字| 亚洲人成在线网站| 亚洲综合精品| 国产日产精品一区二区三区四区的观看方式| 国产美女视频一区二区| 久久久久久亚洲精品美女| 色爱综合av| 人人精品人人爱| 国产精品宾馆| 亚洲午夜电影| 亚洲免费毛片| 蜜桃精品视频| 99精品视频在线| 中文字幕亚洲影视| 另类欧美日韩国产在线| 亚洲成人一区在线观看| 日韩精品一二三区| 蜜桃久久久久| 亚洲午夜在线| 国产亚洲一区二区三区啪| 伊人网在线播放| 美女尤物久久精品| 欧美a级一区二区| 在线日韩视频| 国产免费播放一区二区| 国产精品久久久久av电视剧| 在线亚洲激情| 国产精品探花在线观看| 91精品啪在线观看国产18| 亚洲91在线| 樱桃视频成人在线观看| 亚洲精品综合| 欧美成a人国产精品高清乱码在线观看片在线观看久 | av中文字幕在线观看第一页| 欧美日韩国产一区二区三区不卡 | av资源亚洲| 丝袜美腿亚洲色图| 精品视频一区二区三区在线观看| 欧美日韩在线网站| 国产欧美一区二区色老头| 免费高潮视频95在线观看网站| 亚洲一区二区三区无吗| 成人亚洲一区二区| 亚洲小说春色综合另类电影| 高清av一区| 日本亚洲欧美天堂免费| 日韩欧美自拍| 日韩精品a在线观看91| 日韩欧美一区二区三区在线观看 | 日韩av自拍| 日本在线一区二区三区| 久久久久国产一区二区|