国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

uniapp 實現(xiàn)生成海報并分享給微信好友和保存到本地相冊

這篇具有很好參考價值的文章主要介紹了uniapp 實現(xiàn)生成海報并分享給微信好友和保存到本地相冊。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

記錄uniapp 生成二維碼海報并保存到本地或者分享給微信好友


前言

最近又遇到一個需求:用戶需要將小程序生成的二維碼海報分享給微信好友或者保存到本地,最后實現(xiàn)的效果如下:
uniapp 實現(xiàn)生成海報并分享給微信好友和保存到本地相冊uniapp 實現(xiàn)生成海報并分享給微信好友和保存到本地相冊uniapp 實現(xiàn)生成海報并分享給微信好友和保存到本地相冊


一、引入生成二維碼的組件

這種網(wǎng)上隨便找一下就有了,樓主采用的是tki-qrcode 生成二維碼組件,具體的鏈接如下:
鏈接: https://blog.csdn.net/qq_45829293/article/details/123169952

二、點擊右側(cè)的分享圖標(biāo)生成海報

因為考慮到到時候生成的海報要分享,所以考慮用canvas的方式去繪制海報,當(dāng)然你也可以試著用傳統(tǒng)的 寫法去生成,這邊樓主沒有去嘗試過,所以這個方法也就不說了,只說canvas 的方式

核心生成代碼如下(示例):

	//初始化畫布
			async __init() {
				uni.showLoading({
					title: '加載中...',
					mask: true
				})
				this.ctx = uni.createCanvasContext('my-canvas', this)
				this.canvasW = uni.upx2px(500);
				this.canvasH = uni.upx2px(750);
				//設(shè)置畫布背景透明
				this.ctx.setFillStyle('rgba(255, 255, 255, 0)')
				//設(shè)置畫布大小
				this.ctx.fillRect(0, 0, this.canvasW, this.canvasH)
				//繪制圓角背景
				this.drawRoundRect(this.ctx, 0, 0, this.canvasW, this.canvasH, uni.upx2px(18), '#FFFFFF')
				//小程序碼
				// let qrcodeImg = await this.getImageInfo(this.qrcode)
				// this.ctx.drawImage(qrcodeImg.path,198,(((this.canvasW-hW) / 2) + hH + 135), 92, 92)
				//獲取二維碼的圖片
				let headerImg = await this.getImageInfo(this.src)
				let hW = uni.upx2px(500);
				let hW1 = uni.upx2px(300);
				let hH = uni.upx2px(300);
				//繪制標(biāo)題圖
				 this.drawRoundImg(this.ctx, headerImg.path, uni.upx2px(100), hH / 4, hW1, hH, 8)
				//繪制提示
				this.ctx.setFontSize(14);
				this.ctx.textAlign = 'center' //文字居中 設(shè)置文字居中但是fillText的第二個參數(shù)必須為畫布寬度一半
				this.ctx.setFillStyle('#A4A4A4');
				let sWidth = this.ctx.measureText(this.subTitle).width
				this.ctx.fillText(this.subTitle, this.canvasW / 2, (
					((this.canvasW - hW) / 2) + hH + 70))
				this.ctx.setFontSize(12);
				this.ctx.fillText(this.subTitle1, this.canvasW / 2, (
					((this.canvasW - hW) / 2) + hH + 90))
				//繪制虛線
				this.drawDashLine(this.ctx, 10, (((this.canvasW - hW) / 2) + hH + 120), (this.canvasW - 10), (((this
					.canvasW - hW) / 2) + hH + 120), 5)
				//左邊實心圓
				this.drawEmptyRound(this.ctx, 0, (((this.canvasW - hW) / 2) + hH + 120), 10)
				//右邊實心圓
				this.drawEmptyRound(this.ctx, this.canvasW, (((this.canvasW - hW) / 2) + hH + 120), 10)
				//提示文案
				this.ctx.setFontSize(12);
				this.ctx.setFillStyle('#858585');
				//底部廣告
				let BottomAdImg = await this.getImageInfo(this.abImg)
				// 判斷一下手機系統(tǒng)的寬高
				uni.getSystemInfo({
					success: (res) => {
						if (res.windowHeight <= 568) {
							this.ctx.drawImage(BottomAdImg.path, uni.upx2px(20), (((this.canvasW - hW) /
								2) + hH + 140), uni.upx2px(460), (this.canvasH - hH) / 4)
						} else {
							this.ctx.drawImage(BottomAdImg.path, uni.upx2px(20), (((this.canvasW - hW) /
								2) + hH + 140), uni.upx2px(460), (this.canvasH - hH) / 3)
						}
					}
				});

三:將canvas 圖片轉(zhuǎn)化成圖片(最關(guān)鍵)

這一步是最關(guān)鍵的,只有這一步完成了,才能夠?qū)崿F(xiàn)分享給用戶或者保存下來

代碼如下:

this.ctx.draw(true, () => {
						// 將canvas 變成圖片方便發(fā)送給好友或者保存
						var that = this
						uni.canvasToTempFilePath({
							canvasId: 'my-canvas',
							fileType: 'jpg',
							x: 0,
							y: 0,
							complete: (res) => {
								this.canvasImg = res.tempFilePath
							}
						}, this);
					})

四:保存圖片或者發(fā)送好友

這里采用了微信原生的方式,在img 標(biāo)簽上加上 show-menu-by-longpress=true 就可以了。文章來源地址http://www.zghlxwxcb.cn/news/detail-407543.html

最后

如需項目demo,請聯(lián)系我:1015095073@qq.com

到了這里,關(guān)于uniapp 實現(xiàn)生成海報并分享給微信好友和保存到本地相冊的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • uniapp 微信小程序 繪制海報,長按圖片分享,保存海報

    uniapp 微信小程序 繪制海報,長按圖片分享,保存海報

    uView UI 2.0 dcloud 插件市場地址

    2024年02月12日
    瀏覽(102)
  • 【uniapp】微信小程序 , 海報輪播圖彈窗,點擊海報保存到本地,長按海報圖片分享,收藏或保存
  • 微信小程序分享圖片給微信好友(如二維碼)

    目錄 前言 一、使用哪種api? 二、對圖片的處理需要轉(zhuǎn)化為臨時路徑 三、Windows端兼容性問題 最近在公司開發(fā)一個微信小程序項目,用到的uniapp技術(shù),在分享圖片時,查看了uniapp的技術(shù)文檔,寫的還是很粗糙的,說得不太清楚,在我看了一個下午得出了一個結(jié)論,uniapp并沒有

    2024年02月11日
    瀏覽(93)
  • uni-app分享小程序卡片給微信好友

    uni-app分享小程序卡片給微信好友

    最近有這樣一個需求,使用APP將一個小程序的頁面分享給微信好友,起初一臉問號,APP分享小程序的頁面,兩個不相干的東西怎么關(guān)聯(lián)分享?于是乎抱著實現(xiàn)不了的心態(tài)在網(wǎng)上看帖子,最后終于在uni-app文檔和微信官方文檔找到了答案。 這里需要注意的是, 這里的appid并不是

    2024年02月11日
    瀏覽(25)
  • uniapp微信小程序生成分享海報(模板自取)

    uniapp微信小程序生成分享海報(模板自取)

    uniapp微信小程序生成分享海報模板 1、模板自取 2、可自行按需求更改調(diào)整 3、效果圖如下: 生成前? ----- 生成后的圖 需知: 博主的實現(xiàn)效果是先把需要生成的圖片排版成靜態(tài)頁面,再點擊生成海報-----通過canvas生成海報?。。?? ? ? ? ? ?不需要這樣效果話可以省略第一步

    2024年02月14日
    瀏覽(25)
  • 微信小程序canvas type=2d生成海報保存到相冊、文字換行溢出顯示...、文字刪除線、分享面板

    微信小程序canvas type=2d生成海報保存到相冊、文字換行溢出顯示...、文字刪除線、分享面板

    做個簡單的生成二維碼海報分享, 我做的時候也找簡單的方法看能不能實現(xiàn)頁面直接截圖那種生成圖片,原生小程序不支持, 不多介紹下面有全部代碼有注釋、參數(shù)自行替換運行看看,還有需要優(yōu)化的地方,有問題可以咨詢我,我寫的已經(jīng)上線 如圖:

    2024年02月11日
    瀏覽(94)
  • uniapp 微信小程序?qū)崿F(xiàn)小程序分享好友

    我們可以使用 onShareAppMessage 的方法對 button 按鈕進行觸發(fā) HTML代碼

    2024年02月02日
    瀏覽(92)
  • 微信小程序?qū)崿F(xiàn)生成分享海報案例

    微信小程序?qū)崿F(xiàn)生成分享海報案例

    一、引入插件painter (1)克隆地址:https://gitcode.net/mirrors/Kujiale-Mobile/Painter (2)下載的 painter 放到小程序的 components 目錄下 二、頁面中引入插件 (1)頁面的 json 文件 (2)頁面的 wxml 文件 其中 painter 插件可以獲取繪制出來的圖片路徑, image 標(biāo)簽展示出來 三、繪制海報 1、

    2024年02月08日
    瀏覽(22)
  • 微信小程序 api+前端實現(xiàn)生成分享海報

    微信小程序 api+前端實現(xiàn)生成分享海報

    1.先看效果圖,點擊分享海報按鈕,然后彈出分享海報 ?2.前端代碼 這里用的組件有vant組件庫還有canvas_drawer(一個畫布組件) canvas_drawer下載地址 https://github.com/kuckboy1994/mp_canvas_drawer 把 components 中的 canvasdrawer 拷貝到自己項目下,然后再app.json中引用就行了,如下 \\\"usingCompon

    2024年02月09日
    瀏覽(25)
  • uniapp實現(xiàn)微信小程序端動態(tài)生成海報

    uniapp實現(xiàn)微信小程序端動態(tài)生成海報

    背景: 基于uniapp實現(xiàn)微信小程序中商品詳情的海報生成與保存 效果圖: 思路: 首先把海報上需要的內(nèi)容準(zhǔn)備好,比如用戶頭像,商品信息,二維碼等。需要注意的是,因為二維碼是動態(tài)生成的,所以需要后端傳給我們,前端需要把路徑和參數(shù)傳給后端,后端請求微信服務(wù)接

    2024年02月12日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包