这个小工具制作的目的是为了将多张图片组合后生成一张动态的GIF图片。设置界面化的操作,只需要将选中的图片导入最后直接生成动态图片。

需要完整源码前往文末,文末附完整源码获取方式。

导入界面相关的第三方库

from PyQt5.QtWidgets import *
from PyQt5.QtGui import *

动态图片处理模块

import imageio

应用操作相关库

import sys
import os
from datetime import datetime

这是用图片生成器生成的一张GIF图片,大家在生成时尽量选择两张大小尺寸一致的照片生成后的动态图片切合度会比较高。

小工具中包含两个重要的函数过程,一个是UI界面的制作生成,另一个是将多张图片进行合成GIF的动态图片。

UI 界面制作函数过程。

def init_ui(self):self.setWindowTitle('Gif图片生成器  公众号:[Python 集中营]')self.setWindowIcon(QIcon('图标.ico'))vbox = QVBoxLayout()self.moive_label = QLabel()gif = QMovie()gif.setFileName('20220124215914.gif')self.moive_label.setMovie(gif)gif.start()grid = QGridLayout()self.images_text = QLineEdit()self.images_text.setPlaceholderText('源图片文件')self.images_text.setReadOnly(True)self.images_btn = QPushButton()self.images_btn.setText('选择图片')self.images_btn.clicked.connect(self.images_btn_click)self.save_dir = QLineEdit()self.save_dir.setPlaceholderText('存储路径')self.save_dir.setReadOnly(True)self.save_dir_btn = QPushButton()self.save_dir_btn.setText('存储路径')self.save_dir_btn.clicked.connect(self.save_dir_btn_click)self.generate_btn = QPushButton()self.generate_btn.setText('快速生成')self.generate_btn.clicked.connect(self.generate_btn_click)grid.addWidget(self.images_text, 0, 0, 1, 2)grid.addWidget(self.images_btn, 0, 2, 1, 1)grid.addWidget(self.save_dir, 1, 0, 1, 2)grid.addWidget(self.save_dir_btn, 1, 2, 1, 1)grid.addWidget(self.generate_btn, 2, 0, 1, 3)vbox.addLayout(grid)vbox.addWidget(self.moive_label)self.setLayout(vbox)

GIF动态图片生成过程。

    def generate_btn_click(self):paths = []image_paths = self.images_text.text().strip().split(",")for image_path in image_paths:if image_path.strip() != '':paths.append(image_path)print('已选择的图片路径:', paths)gif_image = []for path in paths:gif_image.append(imageio.imread(path))gif_path = self.save_dir.text().strip() + '/' + datetime.now().strftime("%Y%m%d%H%M%S") + '.gif'imageio.mimsave(gif_path, gif_image, fps=1)gif = QMovie()gif.setFileName(gif_path)self.moive_label.setMovie(gif)gif.start()

公众号内回复"动态图片合成器"获取完整源代码,可以根据源代码进行自定义改造。

我是 [Python 集中营]、很高兴您看到了最后, 我是一个专注于 Python 知识分享的公众号,希望可以得到您的关注~

【往期精彩】

python几个常见的数据处理操作,一行代码就能完成!

过年了,用 PyQt5 生成一副春联吧...

记录一下python中的十大%占位符对应的格式化...

PyQt5 UI 制作一个豆瓣电影信息查看器,初识QThread多线程...

PyQt5 最小化到托盘,升级小闹钟...

gif动态图片生成器,多张图片组合后生成动图...相关推荐

  1. netbeans 添加gif图片_怎么制作动态图片?手机如何制作清晰gif动图?

    对于gif动图大家是非常熟悉的一种图片展现形式,比如平常在微信,QQ中使用的表情包就是gif动图样式的一种.一般获取GIF动图的渠道主要是来自网上或者对于好友使用的比较有趣的图片进行收藏,然后在聊天的 ...

  2. gif动态图片怎样裁剪后还是动图?

    我们平时在使用图片的时候,相信一定都经常处理图片,例如压缩图片大小.裁剪图片.修改图片尺寸等等,处理静态图片比较简单,但是在处理gif动图的时候经常会遇到各种各样的问题,例如在进行gif裁剪(http ...

  3. 怎么把几张图片做成一张动图?

    怎么把几张图片做成一张动图?平时我们在浏览网页的时候,总会在第一时间注意到网页上的一些动态图片,说明动态图片对于人的视觉抓取非常有效,这也是动图使用广泛的原因.很多动图是由一张一张静态图片合并而成,按 ...

  4. 如何把很多照片拼成一张照片_电脑如何在线将多张图片合成为一张动图?

    原标题:电脑如何在线将多张图片合成为一张动图? 有些时候,需要将多张图片制作成一张图片来进行展示,想要将多张图片合成一张的那么就需要使用拼图或者合成gif动图两种方式来进行操作.拼图可以使用美图秀秀, ...

  5. php多张图片切换效果,怎么把多张图片制作成gif动图 可设置图片切换效果及显示时间...

    小编在微信上跟朋友斗图的时候发现,有些表情包是用很多张图片不断切换制作成的,这种动图是怎么制作出来的呢?要是学会了,可以将自己或者朋友的照片制作成gif动图,想想就很有意思呀!那么在此小编给大家推荐一 ...

  6. matlab 动态存储图片,Matlab刷新图像及保存.gif动图的简单方法

    ​​ 有很多时候我们需要在PPT中展示一个动态变化的图像,这就需要不断刷新绘图以及保存独立的动画或者视频,matlab对于这一功能有非常完善的支持. 查文档就有还非要写报告,我摸鱼的时间也很宝贵的好么 ...

  7. 如何制作动态拼图?教你如何在线拼接动图

    相信大家都看过很多拼图效果的图片,将多张图片拼接在一张图片中,做成带有展示效果的拼图.那么,当我们想要将gif动图制作成有拼接效果的gif拼图时,应该怎么办呢?下面,小编为大家分享一款**动态图片拼接 ...

  8. 怎样在线压缩gif图片大小?电脑上如何压缩动图?

    GIF动图是一种使用非常广泛的图片格式,我们平时聊天时候使用的动态表情包一般就是gif格式的,与静态图片相比,GIF动图是由多帧构成的,因此体积一般也会比静态图片大很多,所以在使用的时候难免会遇到GI ...

  9. 多张图片怎么合成gif动图?电脑如何将静图转换动图?

    很多小伙伴都知道动图是由许多的图片合成做出来的效果,所以都会使用图片合成(一键合成高清gif动图-在线gif制作工具-gif.cn_GIF中文网)gif的方式来制作自己喜欢动图.接下来小编给大家分享一 ...

  10. 手机gif图片怎么压缩变小?gif动图怎样缩小?

    相信很多小伙伴遇到过这种情况,手机gif动图上传到一些分享平台时,因为gif动图过大而上传受限,那我们应该怎么将手机gif动图变小呢?gif动图和静态图片不一样,不能按照普通的方法压缩gif大小,有时 ...

最新文章

  1. 控制文件的多路复用技术
  2. SharePoint 2010应用开发系列
  3. React之mockjs+sass+生命周期函数
  4. 考研规划计算机科学与技术,2021考研:计算机科学与技术研究方向及冲刺复习规划...
  5. APP One Link ,android and ios qrcode merge as One QRCode and one short link
  6. sequelize 外键关联_用Sequelize计算关联条目
  7. 普华基础软件笔试_【2019更新版】中国人民大学计算机软件考研信息汇总
  8. Nginx+Keepalived实现站点高可用
  9. 局部敏感哈希(Locality Sensitive Hashing,LSH)
  10. 那些年,陪伴过我们的下载软件(上)
  11. 需求分析解决方案文案,展示图文结合的文案的视觉感。运用屏幕摄影师Snaglt实现屏幕图像文本捕获与编辑,为技术文案的编写提供素材支持。
  12. Redis主从, 哨兵, Lettuce(二)
  13. 3500字干货!精准解决3大难题,助力服装行业数字化转型
  14. python图像降噪
  15. 中科大843信号与系统中国科学技术大学843信号与系统138,总分420+上岸经验帖
  16. 教你如何白嫖1TOneDrive云空间
  17. 基于AdaBoost算法的情感分析研究
  18. 大数据埋点那些事儿,手机 APP 是不是在偷听我说话?
  19. A/B/C/D/E五个人互相传球
  20. 数据结构课程设计(部分选题)

热门文章

  1. python 常用简单代码
  2. 【深度学习论文笔记】Depth Map Prediction from a Single Image using a Multi-Scale Deep Network
  3. 空间旋转矢量的求法(理解)
  4. mysql免费版稳定吗_mysql免费版好用么
  5. 10 分钟上手 Vim 编辑器,常用命令大盘点!
  6. C语言爱心代码大全2022合集(可领)
  7. SVN删除文件及其恢复
  8. svn怎么删除已提交的文件
  9. 单片机跑马灯12种c语言程序设计,基于单片机多模式带音乐跑马灯设计附完整程序代码.doc...
  10. java来电报名字的软件_读短信来电报姓名