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

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

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

瀏覽:51日期: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| 婷婷亚洲综合| 麻豆久久一区| 四虎国产精品免费观看| 午夜欧美理论片| 日韩av一区二区在线影视| 日韩高清中文字幕一区| 国产一区日韩一区| 丝袜脚交一区二区| 国产欧美午夜| 日韩欧美精品| 99热精品在线| 日韩精品国产欧美| 亚洲图片久久| 久久影院一区二区三区| 日本不卡免费高清视频在线| 亚洲激情社区| 国产精品免费精品自在线观看| 欧美国产小视频| 亚洲在线电影| 久久精品一区二区国产| 精品欧美久久| 国产精品视频一区二区三区综合 | 日韩在线a电影| 久久中文精品| 少妇精品导航| 91成人小视频| 午夜欧美理论片| 美女久久久久久| 免费在线观看一区二区三区| 亚洲天堂免费| 日韩国产在线一| 久久精品影视| 亚洲在线成人| 精品一二三区| 欧美日韩在线网站| 日韩成人精品一区| 99久久夜色精品国产亚洲狼| 欧美偷窥清纯综合图区| 国产欧美日韩精品一区二区免费| 福利精品一区| 91久久视频| 亚洲视频二区| 亚洲精品成人| 日本午夜精品视频在线观看| 日韩午夜av在线| 欧美在线91| 在线综合亚洲| 国产欧美日韩一级| 综合激情一区| 在线一区二区三区视频| 1024精品一区二区三区| 美国三级日本三级久久99| 99国产精品免费视频观看| 亚洲免费婷婷| 成人羞羞视频播放网站| 欧美男人天堂| 欧美香蕉视频| 精品久久久久中文字幕小说| 97精品国产福利一区二区三区| 国产日韩中文在线中文字幕| 亚洲欧美日韩在线观看a三区| 欧洲在线一区| 麻豆mv在线观看| 亚洲一区二区成人| 国产精品久久久久久久免费软件| 亚洲丝袜美腿一区| 丁香婷婷久久| 精品99在线| 国内亚洲精品| 国产尤物精品| 91精品久久久久久久久久不卡| 视频一区中文字幕精品| 蜜桃av一区二区在线观看| 国产一区2区| 国产精品精品国产一区二区| 国产精品一区免费在线| 免费毛片在线不卡| 亚洲精品888| 精品一区二区三区的国产在线观看 | 亚洲涩涩av| 日韩一区精品字幕| 中文在线一区| 免费日韩av| 夜夜嗨一区二区三区| 亚洲精品在线观看91| 欧美a级片一区| 国模 一区 二区 三区| 国产专区一区| 亚洲女同中文字幕| 一区在线免费| 老司机精品久久| 亚洲欧洲国产精品一区| 亚欧成人精品| 日本不卡一二三区黄网| 国产日韩欧美高清免费| 国产精品tv| 国产+成+人+亚洲欧洲在线| 日本黄色精品| 久久要要av| 一区在线观看| 免费在线观看一区| 国产精品视频一区视频二区| 青草综合视频| 日韩一区网站| 久久国产99| 国产精品免费看| 亚洲国产专区| 亚洲精品一区二区妖精| 婷婷激情图片久久| 成人亚洲精品| 国产三级一区| 蜜臀国产一区二区三区在线播放| 蜜桃av.网站在线观看| 午夜在线播放视频欧美| 国内精品福利| 中文字幕在线视频网站| 亚洲一级大片| 免费人成黄页网站在线一区二区| 亚洲精品综合| 欧美日韩亚洲一区二区三区在线| 久久成人av| 欧美日韩中文一区二区| 亚洲a级精品| 午夜精品免费| 999精品一区| 亚洲97av| 国产 日韩 欧美 综合 一区| 激情欧美丁香| 亚洲精品麻豆| 国产在视频一区二区三区吞精| 欧美freesex黑人又粗又大| 美女91精品| 老牛国内精品亚洲成av人片| 久久一区二区三区电影| 亚洲欧洲美洲国产香蕉| 久久精品人人| 夜夜嗨网站十八久久| 精品午夜视频| 日韩中文字幕一区二区高清99| 久久国产电影| 亚洲啊v在线免费视频| 激情久久99| 国产一区二区三区探花| 国产手机视频一区二区| 日韩黄色av| 日韩一区电影| 日韩精品福利一区二区三区| 伊人久久在线| 无码日韩精品一区二区免费| 国产精品久久久久久久久妇女| 亚洲黄页一区| 麻豆视频一区| 日韩一级不卡| 国产欧美69| 日韩av二区| 日韩精品一级| 精品欧美久久| 乱一区二区av| 日本欧洲一区二区| 吉吉日韩欧美| 一区二区国产精品| 久久久男人天堂| 日韩精品中文字幕吗一区二区| 日韩av福利| 国产日韩视频| 久久亚洲欧洲| 久久久久久久久99精品大| 欧美日韩夜夜| 亚洲欧美日韩国产一区| 国产精品日韩精品在线播放| 欧美日韩国产综合网| 国产精品v亚洲精品v日韩精品| 亚洲免费网址| 亚洲啊v在线| 久久超碰99| 日韩精品久久久久久久软件91| 久久五月天小说| 老司机免费视频一区二区| 巨乳诱惑日韩免费av| 日韩福利一区| 国产精品一区二区美女视频免费看 | 欧美久久久网站| 国产精品久久乐| 日韩精品视频在线看| 久久亚洲黄色| 7777精品| 99精品视频在线| 精品香蕉视频| 亚洲一区二区三区四区五区午夜| 久久精选视频| 免费成人在线视频观看| 久久精品国产成人一区二区三区| 日本强好片久久久久久aaa| 中文av在线全新| 亚洲影院天堂中文av色| 99pao成人国产永久免费视频| 国产精品亚洲产品| 男女男精品网站| 激情五月综合网|