我是如何将LINE表情包转化为微信表情包的?/How I convert Line stickers into Wechat stickers just as the way they are?

一个小练习,不商用

输入和输出

输入:
LINE商店的表情包(需科学上网,有免费和付费的、静态和动态的表情包,非常可爱)
我是如何将LINE表情包转化为微信表情包的?/How I convert Line stickers into Wechat stickers just as the way they are?_第1张图片

输出:
微信的表情包
以下是一张动态的表情包实例。
这是原图
我是如何将LINE表情包转化为微信表情包的?/How I convert Line stickers into Wechat stickers just as the way they are?_第2张图片
这是微信的表情包效果,是动态的,不好上传。
我是如何将LINE表情包转化为微信表情包的?/How I convert Line stickers into Wechat stickers just as the way they are?_第3张图片

难点

  1. 表情包有几千张,所以,所有工作都需要结合代码语言自动批量生成,不需要手工操作。
  2. 对于有颜色背景的png图片,需要转化成透明背景,使得表情包更自然
  3. 上传到微信或QQ会被压缩,导致背景变成黑底,所以需要将PNG或者APNG格式转化成GIF格式
  4. 表情包太小,需要在保证清晰度的情况下放大,且,微信对于较大的表情包自动转成文件的形式发送,而非表情包的形式
  5. 动态表情包的转化

主要工具

科学上网工具:负责进入LINE商店
line贴图打包:一款chrome插件,负责在LINE商店下载表情包
Imagemagick 结合命令行:负责批量操作图形

具体步骤

下载表情包

去LINE表情包商店使用line贴图打包工具下载相应的表情包。

这里有静态图和动态图的压缩包,两种格式。对于清晰度和大小来说,PC,优先选择iphone2x下载。然而部分iphone2x压缩包会出现表情包颜色变色的问题,此时选择andriod的压缩包。
我是如何将LINE表情包转化为微信表情包的?/How I convert Line stickers into Wechat stickers just as the way they are?_第4张图片
最终我们会得到一个压缩包,里面是PNG格式的图片。
我是如何将LINE表情包转化为微信表情包的?/How I convert Line stickers into Wechat stickers just as the way they are?_第5张图片
至此结束所有手工作业,接下来进入自动化批量处理多张图片,不再赘叙。

对于静态表情包

以一张静态表情包在微信的变迁举例:
只需要三步

  1. PNG白底转化为透明背景。这一步其实不需要。因为大部分LINE下载好的表情包是透明背景的,写这一步的原因,第一,担心存在一些表情包是有颜色背景的,所以预处理一下;第二,科普,为了适用于那些本身是有颜色背景的图片,而非表情包。
::进入路径
F:
cd F:\Desktop\brownstickers\1
:: 删除无关文件
del /q *key*
:: 新建一个文件夹来保存透明背景的PNG
mkdir batch
FOR %G IN (*.png) DO magick "%G" -transparent #FF00FF "batch\%G"

此时微信图片仍旧是黑底。

  1. 透明背景的PNG转化为GIF
cd batch
:: PNG2GIF
magick mogrify -format gif *.png

此时已经变成可用的表情包,需要进一步放大。

  1. 在原尺寸比例的基础上放大表情包3倍,比例可以自己控制,注意如果放大比例太大了,微信会是文件的形式。
:: 新建一个路径,放最终的表情包
mkdir F:\Desktop\cherimaho\static\馒头人
:: 300% 比例可以自己调整
FOR %G IN (*.gif) DO magick "%G" -adaptive-resize 300% "F:\Desktop\cherimaho\static\馒头人\%G"

得到GIF文件后,发送到微信上,长按存为表情即可。这一步是手工的,需要把GIF文件一个一个存为表情。表情包如图

我是如何将LINE表情包转化为微信表情包的?/How I convert Line stickers into Wechat stickers just as the way they are?_第6张图片

对于动态表情包

我们下载得到的是这样的压缩包,里面有一个animation@2x文件夹,装的是apng格式的动态图(但是还是png的后缀)
我是如何将LINE表情包转化为微信表情包的?/How I convert Line stickers into Wechat stickers just as the way they are?_第7张图片

  1. 将apng转化为gif
    这一步使用了现成的代码,见链接中的工具
  2. 放大gif,同之前的步骤

参考文献

  1. 最主要的参考 https://www.bilibili.com/read/cv362796/
  2. magick学习书 https://legacy.imagemagick.org/Usage/anim_basics/
  3. 其他的所有文中链接,特别感恩动态转化工具

我是如何将LINE表情包转化为微信表情包的?/How I convert Line stickers into Wechat stickers just as the way they are?_第8张图片

确定不来个赞嘛~
我是如何将LINE表情包转化为微信表情包的?/How I convert Line stickers into Wechat stickers just as the way they are?_第9张图片

你可能感兴趣的:(我是如何将LINE表情包转化为微信表情包的?/How I convert Line stickers into Wechat stickers just as the way they are?)