虎年头像框制作小程序的实现实践全流程

GS 270 2024-06-20

虎年春节快来了,如何给图片添加上虎年头像框,下面本篇文章带大家制作一个小程序来实现这个功能,希望对大家有所帮助!

手把手带你实现虎年头像框制作小程序(实践)

又到了一年的结尾,感觉时间过的逝贼鸡儿快,一晃一年就没了,一晃一年又没了。

记得去年由于疫情的原因没有回家过年,年三十的晚上就在家族微信群里面发那种通过玩游戏获得红包的小程序,也是很欢乐的。

虽然我自己没开发过小游戏,但是小程序还是写过一些,这不最近看到很多朋友都换上了新年头像。 就像下面这种的:

图片.png

看了下主要就是两部分:图片 + 相框 叠加保存为一张图片,那我也可以去实现一个。

于是就有了这篇文章,自制虎年头像框小程序。

实现

话不多说,先上效果图。

图片.png

1、实现原理

通过效果图可以看到,在这个地方用到了两张图片:

一张是通过“获取头像”按钮获取的微信用户的头像,用作底图;

另外一张是相框图片,这是预制的静态资源;

在点击“保存头像”的时候,将上面两张图片分别通过canvas画到画板上,先画底图,在画相框图,绘制完成后将画板上的图片保存到本地就完事了。

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

图片.png

2、收集静态资源

在我这个小程序中内置了一些静态资源,比如:头像框图片、首页背景图片、底部导航栏图标等。

这些图片来源于下面这几个网站,仅供参考。

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

获取图标的好去处。

千图网

https://www.58pic.com/

获取背景图片、头像框等的好去处。

3、编码

分为三个部分介绍编码这个阶段。

3.1 获取微信用户头像

微信小程序提供有api获取微信用户信息。 wx.getUserProfile(Object object)

通过button按钮点击,获取微信用户信息:

图片.png

getUserProfile实现如下:

图片.png

到这里获取微信用户头像已经完成。

备注: 通过res.userInfo默认返回来的用户头像是低分辨率的,要获取用户头像高清图需要进行处理。

3.2 绘制图像

绘制图主要用到了微信小程序提供画布相关API(https://developers.weixin.qq.com/miniprogram/dev/api/canvas/wx.createOffscreenCanvas.html)

变量说明:

hotArr:[{name:'虎年相框',key:'hunian'},{name:'虎头帽子',key:'shendan'},{name:'国旗',key:'guoqing'}],

curHot:用于存放当前选择的hotArr的索引。

windowWidth:  wx.getSystemInfoSync().windowWidth

size: 260; //自定义的大小

pc : wx.createCanvasContext('myCanvas');

图片.png

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

这个地方主要是因为drawImage() 只支持绘制本地图片。

3.3 保存图像

在上一步我们已经将两张图片绘制到画布上面了,下面将画布上的内容保存到本地。

保存画布上的内容到本地相册也分为两步。

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

通过使用 wx.canvasToTempFilePath()

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

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

图片.png

到这里也就实现了基本的头像框功能。

当然了,基于上面的内容你也可以制作自己的头像小程序。

最后 提前恭祝大家春节快乐,虎年大吉!!!

6.gif

以上就是虎年头像框制作小程序的实现实践全流程的详细内容!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:解析小程序 Log 日志系统的搭建与使用方法
下一篇:从小程序跳转至 H5 页面的方式浅析与示例
相关文章

 发表评论

暂时没有评论,来抢沙发吧~