解锁一个新技能,如何在Python代码中使用表情包...

Posted Python 集中营

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解锁一个新技能,如何在Python代码中使用表情包...相关的知识,希望对你有一定的参考价值。

点击蓝字
关注我们

通常我们在使用聊天工具聊天时看见的基础表情包是这样的…

而在编码过程中,基础表情图是可以使用字符串来识别的。正好python中提供了这个表情包字符串的识别框架Emoji,通过这样的方式我们不用操心底层是如何实现的直接使用起来就OK了。

Emoji,也称为绘文字。是日本在无线通信中所使用的视觉情感符号,绘指图画,文字指的则是字符,可用来代表多种表情,如笑脸表示笑、蛋糕表示食物等。在中国大陆,emoji通常叫做“小黄脸”,或者直称emoji。

首先,准备好python中的Emoji框架。我一直都采用的是pip的安装方式。

pip install emoji

将安装好的emoji模块导入进来。


import emoji

使用的话非常简单,直接使用字符串的方式使用emoji的代码就可以了。比如下面这样…


res = emoji.emojize(\'Python 集中营提供了很多Python应用技巧! :thumbs_up:\')

print(res)

在Pycharm开发工具中打印出来这样的

制作表情包Python拆分和合并GIF动态图(几行代码就搞定)

“表情包”是当前社交软件上不可或缺的交流方式,难以用文字表达的意思,发一个“表情包”,对方就能心领神会。下面是小派制作的一个表情包,准确地讲,是在已有表情包的基础上,二次加工而成的。

技术图片

下面以最简单的代码形式(10行左右),介绍上述“表情包”的制作过程。第一,将GIF动态图拆分成图形帧。下图是网络上找到的一个GIF格式动态图。

技术图片

利用Python将上述GIF格式动态图拆分图形帧,只需要输入以下代码。其中第1-2行是导入os库、从PIL库中导入Image函数功能。第3行是Image.open打开位于D盘路径下名为“first.gif”的动态图。第4行是建立名为“图形拆分”的文件夹,用于保存拆分后的图形帧。第5-12是利用try-except异常处理和while循环查找、保存图形帧到“图形拆分”文件夹中。第12行是打印共计拆分出多少图形帧。这个Python拆分GIF动态图的代码也就13行,相对其他方法是非常简单的。

import os
from PIL import Image
im = Image.open(‘D:Pythongiffirst.gif‘)
os.mkdir(‘图形拆分‘)
try:
    i = 0
    while True:
        im.seek(i)
        im.save(‘图形拆分/‘+str(i)+‘.png‘)
        i = i +1
except:
    pass
print(‘共拆解图像帧数‘+str(i))

运行上述代码,便将名为“first.gif”的动态图拆分成如下36帧图形。

技术图片

第二,对拆分后的图形进行二次加工。比如打上自己喜欢的“台词”,这里把“出来浪啦”4个字打到上述拆分后的图形上,可以使用Photoshop等图形处理工具。如果使用Photoshop的话,因为拆分后的图形为png格式,直接打开会显示“索引”状态,此时可以通过“图像”-->“模式”-->“RGB颜色”将png变成图层,然后通过“移动”-->“顶部对齐/右边对齐”将多帧图形图层叠加对齐,然后再打上“台词”并逐个保存成png,如下图。当然不使用Photoshop,使用其他软件添加文字也行。这里将二次加工后的图形保存在“图形合并”文件夹中,方便第三步操作。

技术图片

第三,Python将第二步中的图形帧合并成GIF动态图。输入如下代码即可:第1行是导入imageio,os模块,第2行建立一个名为images的空文件,用于保存多帧图形。第3行os.listdir()列表化返回“图形合并”文件夹中所有图形名。第4-5行for-in循环读取列表化的图形名。第6行imageio.mimsave()生成GIF格式动态图,duration=0.1表示每帧图形间隔0.1秒。这个Python合并GIF动态图的代码更加简单,才6行。大家可以加下这个群631441315一起交流 ,群里有大量的PDF书籍、教程免费使用!不管是学习到哪个阶段的小伙伴都可以获取到相应的教程!

import imageio, os
images = []
numberlist = os.listdir(‘图形合并‘)
for i in range(len(numberlist)):
    images.append(imageio.imread(‘图形合并/‘+numberlist[i]))
imageio.mimsave(‘newfirst.gif‘,images,‘GIF‘,duration=

保存和运行上述代码,便得到了Python制作的表情包“出来浪啦”。

技术图片

当然现在有很多制作“表情包”的软件,不需要这么复杂。但这里主要是感受Python拆分GIF动态图成多个图形帧,以及合并多个图形帧成GIF动态图的过程。

以上是关于解锁一个新技能,如何在Python代码中使用表情包...的主要内容,如果未能解决你的问题,请参考以下文章

成为表情包大帝,仅需几十行python代码,简单易学

独家秘笈!教你解锁移动应用新技能

python 表情包下载器,轻松下载上万个表情包斗图不用愁...

解锁新技能 | Google Play 学院商品详情证书

波士顿动力机器人解锁跑酷新技能,凭借感知驱动技术适应技能

如何使用python在字符串中查找和计算表情符号?