表情制作微信小程序怎么弄出来的?分享下我自己摸索的完整过程

前阵子我特别想自己做一个表情包小程序,就是那种能让人选图、加字、然后保存分享的小工具。网上搜了一圈,发现讲得都太技术了,什么云开发、组件库、API调用,看得头大。后来自己慢慢试,总算把流程跑通了。今天就把我理解的东西写下来,给同样好奇表情制作微信小程序怎么弄出来的朋友一个参考。

先搞清楚:表情小程序到底在做什么

说白了,一个表情制作小程序干的事就三件:让用户选一张图或者自己传图,然后往上面加文字、贴纸或者滤镜,最后把合成好的图片保存到手机相册,或者直接分享给微信好友。

听起来简单,但落到开发上,涉及到几个关键环节:

  • 图片的加载和显示,要能适配不同手机屏幕
  • 文字的添加和拖拽,用户想放哪儿就放哪儿
  • 图片合成,也就是把文字和底图拼在一起生成新图片
  • 保存到相册的权限申请,这个微信有专门接口

如果你只是自己用,其实用现成的修图软件就够了。但要做成微信小程序,就得按微信的规则来。

注册和基础配置,这一步绕不开

不管你是自己写代码还是用工具生成,第一步都是去微信公众平台注册一个小程序账号。个人也能注册,但要注意:个人主体的小程序不能做涉及支付、直播这些功能,不过做个表情制作工具是够用的。

注册完之后你会拿到一个AppID,这个东西在后面开发或者用第三方工具的时候都要填。然后就是设置小程序的名字、头像、简介,这些信息后面提交审核的时候会用到。

这里有个小坑:小程序名字不能和已有的重复,也不能带“官方”“第一”这种词。我当初想了半天才通过。

开发方式的选择:自己写还是用工具

如果你懂前端,那直接用微信开发者工具写就行。官方文档里有canvas绘图的示例,照着改改就能做出基础的加字功能。核心代码大概就是创建一个canvas,把图片画上去,再把文字画上去,最后导出图片。

但如果你像我一样,只会一点点HTML,那自己写还是挺吃力的。特别是涉及到图片拖拽、缩放、旋转这些交互,代码量不小。

所以当时我就想找有没有更省事的办法。网上有一些在线的小程序生成平台,号称拖拽就能做。我试过一两个,说实话,做出来的东西比较死板,表情模板就那么几个,想加自己的素材很麻烦。而且很多平台要收费,免费版会带他们的水印。

素材和版权问题,别不当回事

做表情小程序,素材来源是个大问题。你要是直接拿网上的明星表情包或者动漫截图,审核基本过不了,甚至可能侵权。微信审核对版权卡得挺严的。

我当时的做法是:自己用手机拍一些搞怪表情,或者用简单的几何图形加文字。虽然丑了点,但至少安全。另外微信表情开放平台上有一些免费的官方表情,但那些主要是给聊天用的,不是给你做制作工具的素材。

如果你想做那种能让人上传自己照片生成表情的功能,那就更要注意隐私协议了。用户上传的图片你怎么处理、存不存、存多久,都得写清楚。

提交审核和发布,最后一步别着急

代码写好了或者工具生成好了,就要上传代码,然后在微信公众平台提交审核。审核一般一两天,快的话几个小时。被拒是常事,我第一次就被拒了,原因是“功能过于简单,没有实际内容”。

后来我加了一些预设模板、分类标签、搜索功能,第二次才过。所以如果你也想做表情制作微信小程序,别只做一个空白画布,至少给用户一些现成的模板,不然审核员会觉得你这个东西没什么用。

审核通过之后,点发布,你的小程序就能被搜到了。但别高兴太早,没有推广的话,基本没人知道。微信小程序不像公众号,没有天然流量入口,得自己想办法引流。

补充方案:我用过的一个辅助工具

前面说的都是自己从零搞的路子。后来因为工作忙,我没那么多时间折腾代码,就试了一个叫“图怪兽”的工具。它本来是个在线设计网站,后来出了小程序版本,可以做一些简单的图片加字和模板套用。

我拿它来做表情包的底图,然后再导出到微信开发者工具里当素材用。优点是模板确实多,改字换图很方便,不用自己从PS开始画。而且它支持导出透明背景的PNG,做表情贴纸挺合适。

但限制也很明显:第一,它不是专门做表情小程序的,不能直接生成小程序代码,你只能拿它做素材,开发还得自己来或者找别人。第二,免费版导出的图片有分辨率限制,高清的要开会员。第三,它的模板风格偏商业海报,真正适合做搞笑表情的没那么多,得自己慢慢挑。

所以这个东西适合像我这样,缺素材、又不想学设计软件的人。如果你指望用它一键生成一个表情小程序,那肯定不行。

最后说几句实在的

表情制作微信小程序怎么弄出来的?总结下来就是:注册账号、选开发方式、准备素材、写功能、提交审核。每一步都有坑,但都不难,就是费时间。

如果你只是好奇想试试,建议先用微信开发者工具里的官方示例改一改,跑通了再想别的。别一上来就买服务器、买域名,没必要。个人做的小工具,用云开发免费额度基本够了。

至于用不用辅助工具,看你自己情况。反正我的经验是,工具能省一部分事,但核心的东西还是得自己搞明白,不然出了问题都不知道找谁。