【制作表情包】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:\\Python\\gif\\first.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动态图的过程。

原文地址:https://www.cnblogs.com/qingdeng123/p/11715257.html

时间: 2024-08-29 01:32:27

【制作表情包】Python拆分和合并GIF动态图(几行代码就搞定)的相关文章

微信自动回复,Python几行代码就搞定了,消息不在错过

之前写过一篇python-requests获取好友列表的文章,简直花费了好多的时间和精力,又抓包,又找参数,又分析的,简直麻烦透顶,今天突然知道了另外一种捷径,几行代码就可以完成.... 学习Python中有不明白推荐加入交流裙                                           号:735934841                                           群里有志同道合的小伙伴,互帮互助,                     

几行代码轻松搞定python的sqlite3的存取

很简单: 存数据: 1.加载sqlite3驱动(只需一行代码) 2.用驱动执行查询语句(只需一行代码) 取数据: 1.加载sqlite3驱动(只需一行代码) 2.用驱动执行查询语句(只需一行代码) 乍一看,sqlite存取数据方式似乎都一样,实际上,就是一样,废话不多说 上例子: 1.存以下内容: s=['Alice','Joker','张三','王五'] 2.先建立数据库,再在数据库中建一个数据表: conn=sqlite3.connect('SqliteDatebase.db') #建立数据

教你用Python制作表情包,实现换脸技术!

"表情包"是现在非常流行的交流方式,通过一张图片就能把文字不能表达或不便于表达的情感给表示出来,表情包一经诞生,就统治了中国人的社交圈,尤其是年轻人,他们的社交方式是所谓"天可不聊,图不可不斗",几乎任何对话都会出现表情包的身影,一言不合就斗图,自己也会在聊天中发几个表情包,可是总会造成一些小误会,比如下面的图 有好多朋友看到这个表情包之后误以为这也是我用Python做的,其实不然,这个图就是网上普通的表情包,但是今天我要用Python做几个表情包. 今天制作表情包

GIF制作器哪个好,如何制作表情包

随着科技的迅速发展,微信.QQ等社交聊天工具中都有了表情包,而在日常聊天中表情包也已经成为必不可少的娱乐,我们不再满足于静态的图片格式,平时用的动图都是别人制作的,其实自己是可以自己制作出更加独特的表情包的,那GIF制作器哪个好,如何制作表情包呢? 1.第一步,在电脑中运行迅捷GIF制作工具,类似的工具较多,但是易操作是最重要的,运行同款制作工具即可: 2.第二步,打开制作工具,会自动弹出两个选项,选择"启动屏幕录制"或"启动GIF编辑器"前者可以直接通过制作工具直

电脑如何制作表情包 怎么制作gif动图

我们如果每一天都在使用电脑,电脑壁纸肯定也要时常更新,这样才会有新鲜感,但是电脑如何制作表情呢?使用工具:电脑操作方法:1.首先要先找好素材,自己想要什么样的动态壁纸,就找到相关的图片或者视频播放源,通过制作工具来录制视频,也可以直接添加图片制作动态图:2.然后如果找的素材是图片的话,可以选择后者直接添加,如果找的是视频,选择前者启动屏幕录制对视频中的内容进行录制即可:3.点击启动屏幕录制会出现一个录制框,然后打开准备好了的视频就可以开始录制了,在录制的过程中可以随时点击暂停:4.录制完成无须操

微信怎么把一张图片变成表情包?微信制作表情包教程

微信是大家再熟悉不过的社交软件了,那么说起聊天,大家接触最多的是什么呢?那当然是表情包啊,表情包在聊天的过程中起到了非常重要的作用,而且大家看到别人发过来的表情包,一定偷偷添加了不少到自己的微信表情库了吧.可是这些表情包终究是别人使用过的,那么接下来就告诉大家怎么在微信里制作表情包. 注意,本次教程不是传统地制作表情包,而是教大家怎么让一张图片变成表情包,从而利于我们添加到表情库里,和在聊天过程轻松使用. (在开始操作前,记得把图片保存到本地中) 1.打开微信,进入其中一个好友或者群组的对话框,

用python制作表情包,领略scrapy框架的魅力!

先上图: scrapy框架爬取某表情网站表情图[源码+GIF表情包下载] python源代码 import scrapy import os,sys import requests import re class scrapyone(scrapy.Spider): name = "stackone" start_urls = ["http://qq.yh31.com/ql/bd/"] def parse(self,response): hrf=response.xp

使用python进行运动轨迹合并:多次骑行跑步轨迹叠加显示

现有各种各样的运动app.运动手表手环以及gps码表等可以用于记录日常骑行或跑步等运动轨迹;但轨迹显示多数只限于显示一天的轨迹,经过搜索只发现一篇文章介绍跑步轨迹叠加方法(查看),根据教程尝试了下还因为perl语言的一些插件没搞定,果断放弃决定自己动手丰衣足食. 先上效果图: ps:那条长线不是绘制的有问题,的确是单日骑行距离最远的一次,260多公里(开始30多公里由于码表磁铁位置问题只记录了几公里,码表记录233公里). 济南市附近轨迹,缺个环泰: 卫星地图轨迹: 轨迹绘制方法: 作为一位骑行

数据预处理速度高倍提升,3行python代码简单搞定!

Python 是机器学习领域内的首选编程语言,它易于使用,也有很多出色的库来帮助你更快处理数据.但当我们面临大量数据时,一些问题就会显现-- 目前,大数据(Big Data)这个术语通常用于表示包含数十万数据点的数据集.在这样的尺度上,工作进程中加入任何额外的计算都需要时刻注意保持效率.在设计机器学习系统时,数据预处理非常重要--在这里,我们必须对所有数据点使用某种操作. 在默认情况下,Python 程序是单个进程,使用单 CPU 核心执行.而大多数当代机器学习硬件都至少搭载了双核处理器.这意味