VPS参考测评推荐
专注分享VPS主机优惠信息
衡天云优惠活动
荫云优惠活动
wexlayer优惠活动

一步一步实现创建虎年头像框架的小程序(实践)(Creating an avatar with a Tiger Head)

主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情!
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作

虎年春节即将开始。 如何在您的照片中添加虎年头像框。 在下一篇文章中,我将向您展示如何创建一个小程序来实现此功能。 我希望这会有所帮助!

又一年结束了。 我感觉时间过得很快。 一年转眼就过去了,又一年又转眼过去了。

我记得去年因为疫情没有回家过年。 除夕夜,我在家里的微信群里发布了一个小程序,玩游戏领红包。 这也让我非常高兴。

我自己没有开发过什么小游戏,但是写过一些小程序。 最近,看到很多朋友换了新年头像。 它看起来像这样:

看这个主要有两部分:照片+相框。 您还可以将其叠加并保存为单个图像来实现。

本文是自制的虎年头像框小程序。

实现

让我们从渲染开始。

1.实现原理

从效果图中可以看到,这里使用了两张图片:

1.通过获取头像按钮获取微信用户头像,使用方法如下: 底图;

另一个是预制的静态资源,相框图片。

点击“保存头像”即可绘制上面的两张图片。 您通过画布在绘图板上绘制,先绘制基础图片,然后再绘制。 绘制相框时,只需在绘制完成后将图像保存在画板本地即可。

下面介绍具体的实现步骤。

2.收集静态资源

我的小程序包括一张头像框图片、一张首页背景图、一张首页图片。底部导航栏包括一些静态资源,例如图标。

这些图片来自以下网站,仅供参考。

阿里巴巴矢量图标库 https://www.iconfont.cn/

获取图标的好地方。

获取背景图像、头像框架等的好地方。

3.编码

编码阶段分为三个部分。

3.1 微信用户头像检索

微信小程序提供了检索微信用户信息的API。 wx.getUserProfile(Object object)

点击按钮按钮,获取微信用户信息。

// 我们推荐使用wx.getUserProfile来获取用户信息。 开发人员可以在需要用户确认时使用此接口来检索用户的个人信息。 getUserProfile(e) { let that = this; // 获取高分辨率用户头像 let url = res.userinfo.avatarurl; while (! Isnan (PAR seInt(url.substring(url.length - 1) , url.length)))) { url = url.substring(0, ur l.length - 1) . res.userInfo.avatarUrl = URL; that.setData({ userInfo: res.use rInfo,                                   r信息,            结束。

3.2 图像绘制

对于图像绘制,微信小程序(https://developers.weixin.qq.com/miniprogram/dev/api/)主要提供了使用canvas相关蜜蜂。 Canvas/wx.createOffscreenCanvas.html)

p >

hotArr:[{name:'虎年相框',key:'hunian'},{name:'虎头帽',key:'shendan '},{name:'Flag',key:'国庆'}],

curHot:用于存储当前选中的hotArr的索引。

windowWidth: wx.getSystemInfoSync().windowWidth

Size: 260; // 自定义大小

pc: wx.createCanvasContext('myCanvas') ;

drawImg(){ wx.showLoading({ title: '正在生成头像...', }) let that = this; this.data.hotArr[this.data.curHot].key; letpromise1 = new Promise(fun ction(resolve, detector) { wx.getImageInfo({ src: that.data.userInfo.avatarUrl, success : Function (res) { resplve (res);}})}); var index = that.data.defaultImg; Promise2 = new Promise(function(resolve,spect) { wx.getImageInfo({ src: `../../images/${type}/hat${index}.png`, success: function(res) {解决(res); } }) }); Promise.all([ Promise1, Promise2 ]).then(res => { //主要是计算每个图像和文字的位置 pc.clearRect(0, 0, windowWi dth, size); //背景图像 pc.drawImage(res[0].path, windowWidth/2 - 130, 0, size , size) //绘制相框 pc.drawImage('../../' + res[1].path, windowWidth/2-130, 0, size, size) pc.blood() pc.draw(false, () => { //图像绘制成功回调,调用save Save Canvas方法 this .canvasToTempFile(); }) }) },

wx.getImageInfo() 主要用于获取图片信息并返回图片的本地路径。

这是主要原因。 drawImage() 仅支持绘制本地图像。

3.3 保存图像

在上一步中,您在画布上创建了两幅画。 接下来,将画布上的内容保存到本地。

将画布上的内容保存到本地相册也是一个两步过程。

第一步:导出当前画布指定区域的内容,生成指定大小的图像。

使用wx.canvasToTempFilePath()

第二步:将图片保存到本地相册。

使用wx.saveImageToPhotosAlbum(https://developers.weixin.qq.com/miniprogram/dev/api/media/image/wx.saveImageToPhotosAlbum.html)

CanvasToTempFile(){ wx .可以 vasToTempFilePath({ x: windowWidth/2-130, //这里减去130 图片大小设置为260 y: 0, height: size, width: size, CanvasId: 'myCanvas', success: (res) => { wx.saveImageToPhotosAlbum({ filePath : res.tempFilePath, success : 结果 => { wx .hideLoading(); wx.showModal({ 内容: '照片已保存到相册,请去微信设置!', showCancel: false, success: function(res) { if(res.confirm) { console.log('用户点击确定'); wx.hideLoading(); console.log("err:" + e); },

基本头像框架功能现已实施。

最后

感兴趣的朋友可以扫码体验一下。

当然,您也可以根据上面的内容创建自己的头像小程序。

最后祝大家新春快乐、虎年吉祥。 ! !

【相关学习推荐:小程序开发教程】

PHP快速学习视频免费教程(入门到精通)

学习PHP如何入门PHP应该去哪里学习?如何快速学习PHP? 这里有简单的 PHP 学习教程(从初学者到专家)。 您可以保存并下载您想学习的朋友。

下载

这几篇文章你可能也喜欢:

本文由主机参考刊发,转载请注明:一步一步实现创建虎年头像框架的小程序(实践)(Creating an avatar with a Tiger Head) https://zhujicankao.com/142029.html

【腾讯云】领8888元采购礼包,抢爆款云服务器 每月 9元起,个人开发者加享折上折!
打赏
转载请注明原文链接:主机参考 » 一步一步实现创建虎年头像框架的小程序(实践)(Creating an avatar with a Tiger Head)
主机参考仅做资料收集,不对商家任何信息及交易做信用担保,购买前请注意风险,有交易纠纷请自行解决!请查阅:特别声明

评论 抢沙发

评论前必须登录!