文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

基于PyQt5如何制作一个gif动态图片生成器

2023-06-28 23:52

关注

这篇文章的内容主要围绕基于PyQt5如何制作一个gif动态图片生成器进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!

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

基于PyQt5如何制作一个gif动态图片生成器

导入界面相关的第三方库

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

动态图片处理模块

import imageio

应用操作相关库

import sysimport osfrom 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()

效果图如下

基于PyQt5如何制作一个gif动态图片生成器

感谢你的阅读,相信你对“基于PyQt5如何制作一个gif动态图片生成器”这一问题有一定的了解,快去动手实践吧,如果想了解更多相关知识点,可以关注编程网网站!小编会继续为大家带来更好的文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯