首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

教你用 Python 生成 GIF 动图 !

本文首发自小詹学 Python,我也尝试着做了下,很管用哦,自己动手做动图,不再求人 现在人人公众号时代 ,大家关注的公众号一定不少吧 ?导致很多喜欢的公号内容容易错过 。...可能大多数人不知道 ,所以我们几个关系不错的朋友说做个 GIF 图吧 ,引导读者星标 。说干咱就干 ,虽然很多软件可以制作 GIF ,但是我们是谁啊 ?我们是程序猿好嘛 ?自己动手丰衣足食 !...于是就有了一个用 Python 生成 GIF 动图的故事~ 首先给大家看看动图效果 ! ? 那么问题来了 ,代码呢 ?且慢慢看来 !...GIF 动图的每一帧 设置输入(静态图)、输出(GIF 动图)和必要的参数 ,这里设置每一帧间隔时间 duration 为 1.5 秒 (具体值你高兴就好啦) 然后调用 imageio 库的函数 imageio.mimsave...得到的结果如上动图 。值得一提的是 ,许多在线网站生成要么是数量限制 5 张 ,要么是自动生成水印 。内心日狗了一万次 。。。果然 ,代码是个好东西 。

93420
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    教你用 Python 生成 GIF 动图 !

    可能大多数人不知道 ,所以我们几个关系不错的朋友说做个 GIF 图吧 ,引导读者星标 。说干咱就干 ,虽然很多软件可以制作 GIF ,但是我们是谁啊 ?我们是程序猿好嘛 ?自己动手丰衣足食 !...于是就有了一个用 Python 生成 GIF 动图的故事~ 首先给大家看看动图效果 ! ? 那么问题来了 ,代码呢 ?且慢慢看来 !...首先 ,调用一个 python 库 imageio 可以轻松实现 ,第一步当然是 pip 安装呀~ pip install imageio 安装之后 ,其实大体分为三个步骤 : 读取静态图到列表中 ,作为...GIF 动图的每一帧 设置输入(静态图)、输出(GIF 动图)和必要的参数 ,这里设置每一帧间隔时间 duration 为 1.5 秒 (具体值你高兴就好啦) 然后调用 imageio 库的函数 imageio.mimsave...得到的结果如上动图 。值得一提的是 ,许多在线网站生成要么是数量限制 5 张 ,要么是自动生成水印 。内心日狗了一万次 。。。果然 ,代码是个好东西 。

    1.8K20

    有点意思的gif动图生成平台开发实战(二)

    动图生成平台, 具体开发背景我也在上一篇文章手把手教你撸一个能生成抖音风格动图的gif制作平台中介绍过了, 我们今天继续来实现该平台, gif动图平台的实现方式比较将完全用前端的手段来实现, 所以大家在接下来的内容中会发现很多有意思的前端插件...使用gif.js实现基于图片生成gif动图 控制gif动图播放速度的方法 正文 还是按照笔者一贯的风格, 在实现功能之前我们先看看实现后的预览效果: 由效果图可以看出我们只需要上传图片序列, 就可以动态生成...gif动图, 并且可以右键保存gif文件....控制gif动图播放速度的方法 控制gif的播放速度方法我们可以用slider组件实现, gif.js也提供速度的接口, 我们只需要实现速度值的计算即可....基于图片序列生成gif动图 基于图片序列生成gif的方式也很简单, 我们通过批量获取图片拖动区的图片, 组装成数组传给gif.js即可. 我们直接看效果: 6.

    1.1K10

    使用ImageMagick操作gif图

    所以在我们公司的游戏开发中,需要一张将整个 Gif 动图的每一帧拆出来的图片拼成一张精灵图交给前端,由他们来使用 JS+CSS 的能力动态地循环我们拆帧后的图片,从而形成动图的效果。...然后计算精灵图的行和列以及相应需要的宽高,比如我们以 5 列为基准,也就是一行放五张拆帧出来的图片,这样一共需要 11 行才放得下最后生成的精灵图。...接着,根据计算出来的宽高生成一张新的图片,作为精灵图的背景图,使用 newImage() 函数设置图片宽高及背景透明。...输出的图片就是下面的这个样子: 组合成动态 GIF 图 以上的业务功能是我在开发中实际使用过的功能,当然,除了可以对 GIF 图进行拆帧之外,我们也可以将多张图片组合成一个动态的 GIF 图。...最后生成的动图就是这样的: 总结 今天的内容有意思吧,不是那些烂大街的缩放、加水印、验证码之类的功能,而是比较好玩的对于 GIF 图的操作。

    1.6K40

    Python制作gif生成工具,斗图再也不会输啦

    在当前无表情包不会聊天的时代,怎么也不能输在表情包数量不足上啊,今天咱们就来制作一个 gif 生成工具,用来制作表情包也太好用啦 先来看看整体效果 页面设计 本文工具的页面,是通过 Qt Designer...gif”的组件是两个 QPushButton “选择图片”按钮下方的是一个 QListVIew 组件 再往下的三段文字是 QLabel 组件,后面分别对应的 QLineEdit 组件 “生成gif”按钮下方的也是两个...PySide2 安装完成之后,我们直接在 cmd 命令行输入如下命令,就可以把刚刚生成的 ui 文件转化为 py 代码 pyside2-uic -o gif.py gif.ui 这样一个页面布局就完成了...,而且转化而来的页面布局 py 文件基本不用修改,直接引用即可 核心逻辑 下面我们编写核心逻辑,在生成的 py 文件同目录下创建一个 main.py 文件,然后引用刚刚生成的 py 文件内容 from...gif 图片,然后通过 save 方法把其余图片保存至第一张图片当中,类型选择 gif 即可 最后就是展示生成 gif 的代码 def displayGif(self): self.movie

    39610

    ffmpeg 生成高质量 gif

    GIF 有很多特点:是一种位图而不是矢量图,即是使用像素阵列来表示的图像,认为图片是由许多像素点组成;仅支持8bit 索引色,即在整个图片中,由于索引 8bit 的限制,只能存在 256 种不同的颜色;...2、ffmpeg 默认 gif 画面质量问题分析1、色彩下采样ffmpeg 的 gif encoder 在实现中,为了方便生成调色板和调色板查找,粗暴的限制了像素类型,默认采用的是AV_PIX_FMT_RGB8...2、调色板问题因为 ffmpeg gif encoder,默认 AV_PIX_FMT_RGB8 这类八色位,最多只能表达 256 种颜色,所以在生成调色板时,也是简单粗暴的生成 256 个颜色。...这里我们就需要使用两个生成调色板的 filter 了:palettegen:通过分析 n 帧画面生成调色板,并存储在 AVFrame 的 metadata["lavfi.color_quant_ratio...如果整个 gif 画面色彩变动不是很大时,一般选取前面部分帧就能生成比较准确的调色板。

    27510

    python图像处理-gif动图

    利用这个原理只要控制好时间,就能够将一系列图片组合在一起形成动图了,更长的可以形成动画等等。 比如下面的图片,每一张我们称为一帧,我们看到的动态效果,其实就好像在不断翻图片给你看。 ? ?...图片合成动图 导入os库,利用listdir方法将lion文件夹中的图片全部读取出来,循环打开每一张图片,接着将图片对象添加到frames列表中,最后利用save方法,保存为一张动图。 ? ? ?...动图分解成一张张图片 先使用open方法打开动图,接着使用ImageSequence将打开的图片对象转换成可迭代的图片序列,通过for循环将图片一张张保存到本地,名字可以自定义。 ? ? ?...想法延伸 动图的内容还有很多可丰富的地方,也还有很多可优化的地方。...比如你所以把一些尺寸不同的图片合成动图时,需要先将所有图片统一尺寸,需要使用resize方法;或者你想在动图上加上文字,可以结合之前处理单张图片添加文字的方法,处理完之后在统一合成;或者你还想调整动图的速率等等

    1.3K10

    怎么制作免费表情包、动图、gif图?

    这个小工具是维权骑士的视频转gif在线操作工具,主要针对的是把视频里面的某些有意思地片段,制作成表情包。...首先进入工具的页面,你可以直接进入维权骑士页面,通过创作工具——视频转gif,或者一键点击这里,快捷进入。...微信截图_20210826162853.png 进入页面之后,点击空白区域上传视频或者直接拖拽视频到这个区域,先把想要制作gif图的视频上传上来,这里建议上传长度上不要太长,不然容易导致上传文件比较慢的情况...image.png 上传之后选择开始时间和持续时间,这里最长可以截取15秒,将视频转化成gif图。...接下来就是点击立即生成gif图,点击导出就搞定啦。 一般小伙伴使用免费版就可以了,如果对表情包尺寸要求比较高,可以升级成为会员,会员的话,可以不限使用次数,相对来说也蛮划算的。

    2.3K00

    Python制作gif表情包生成工具,斗图再也不会输啦

    在当前无表情包不会聊天的时代,怎么也不能输在表情包数量不足上啊,今天咱们就来制作一个 gif 生成工具,用来制作表情包也太好用啦 先来看看整体效果 页面设计 本文工具的页面,是通过 Qt Designer...gif”的组件是两个 QPushButton “选择图片”按钮下方的是一个 QListVIew 组件 再往下的三段文字是 QLabel 组件,后面分别对应的 QLineEdit 组件 “生成gif”按钮下方的也是两个...PySide2 安装完成之后,我们直接在 cmd 命令行输入如下命令,就可以把刚刚生成的 ui 文件转化为 py 代码 pyside2-uic -o gif.py gif.ui 这样一个页面布局就完成了...,而且转化而来的页面布局 py 文件基本不用修改,直接引用即可 核心逻辑 下面我们编写核心逻辑,在生成的 py 文件同目录下创建一个 main.py 文件,然后引用刚刚生成的 py 文件内容 from...gif 图片,然后通过 save 方法把其余图片保存至第一张图片当中,类型选择 gif 即可 最后就是展示生成 gif 的代码 def displayGif(self): self.movie

    31020

    去除图片边框&制作gif动图

    库简化了GIF动态图的制作过程,可以直接读取所有PNG文件,并输出为一个GIF动态图。...动图 imageio.mimsave("result.gif", frames, duration=0.1) 除了前面提到的Pillow和imageio库,还有一些其他的库可以用于快速制作GIF...动图,下面列出其中的几个: • moviepy: 一个基于ffmpeg库的视频编辑库,可以轻松地合并、剪辑视频文件,并输出为GIF动图。...• opencv: 一个开源的计算机视觉库,提供了丰富的图像处理功能,包括GIF动态图制作。不过相比于其他库,它的入门门槛可能稍微高一些。...• scikit-image: 一个基于NumPy和SciPy的图像处理库,提供了多种图像处理算法和函数,包括裁剪、旋转和缩放等功能,可以用来制作GIF动态图。

    28530

    Android如何显示gif动图:AnimatedImageDrawable

    前言 我们知道,Android的基础组件ImageView本身是不支持gif动图的,所以很长一段时间内,开发者们都是通过三方库或自定义组件来实现gif显示,而且大部分的图片加载框架都支持gif,比如Glide...其实,从Android 9.0开始Google已经加入了gif支持————AnimatedImageDrawable,但是因为国内低版本用户存量较多,所以使用较少,今天我们就来简单看看这个AnimatedImageDrawable...显示 我们知道,直接在ImageView中加载gif图是可以显示的,但是图不会动。...图就可以动起来了。...经过测试发现,当gif动画处于播放状态,再次调用start()没有任何效果,gif动画不会从头播放,也不会执行onAnimationStart回调;同样当gif动画处理停止状态,执行stop()也没有任何效果

    5.1K10

    【GIF图修改背景颜色(改为透明)】

    GIF图修改背景颜色(改为透明) 前提 已经安装完成了PS 操作 首先打开需要修改背景的GIF文件,点击左上角的文件,选择导出—存储为WEB所用格式 选择完成后,选择左侧的放大镜图样,即可进行图像的放大以及缩小...点击图片背景吸取颜色 在图像的右侧颜色像素图中,会显示刚刚选中的背景颜色色块,对颜色色块进行双击 在拾色器中进行背景颜色的更改,选择完成后点击确定 这里以红色为例 这时GIF...图像就改为了红色背景 将右上角的图片模式,更改为GIF,这样就可以在此页面进行预览 在页面的右下角,小三角形为播放按钮,点击播放即可进行动态图的预览 若想图片更改为透明背景色

    1.5K30
    领券