iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >基于PyQt5制作一个gif动态图片生成器
  • 945
分享到

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

2024-04-02 19:04:59 945人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

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

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

file

导入界面相关的第三方库

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()

效果图如下

file

到此这篇关于基于PyQt5制作一个gif动态图片生成器的文章就介绍到这了,更多相关PyQt5动态图片生成器内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 基于PyQt5制作一个gif动态图片生成器

本文链接: https://www.lsjlt.com/news/163637.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 基于PyQt5制作一个gif动态图片生成器
    这个小工具制作的目的是为了将多张图片组合后生成一张动态的GIF图片。设置界面化的操作,只需要将选中的图片导入最后直接生成动态图片。 导入界面相关的第三方库 from PyQt5.Q...
    99+
    2024-04-02
  • 基于PyQt5如何制作一个gif动态图片生成器
    这篇文章的内容主要围绕基于PyQt5如何制作一个gif动态图片生成器进行讲述,文章内容清晰易懂,条理清晰,非常适合新手学习,值得大家去阅读。感兴趣的朋友可以跟随小编一起阅读吧。希望大家通过这篇文章有所收获!这个小工具制作的目的是为了将多张图...
    99+
    2023-06-28
  • 基于PyQt5制作一个数据图表生成器
    我的需求:手动配置X轴、Y轴、图表标题等参数自动通过Pyecharts模块生成可视化的html数据图表,并将浏览器图表展示到UI界面上。 制作出图表后的效果展示如下: 另外,生成...
    99+
    2024-04-02
  • 基于PyQT5制作一个二维码生成器
    个性化二维码的exe桌面应用的获取方式我放在文章最后面了,注意查收。通过执行打包后的exe应用程序可以直接运行生成个性化二维码。 开始之前先来看一下通过二维码生成器是如何生成个性化二...
    99+
    2024-04-02
  • 基于PyQt5制作一个动态指针时钟
    想实现这样一个功能,然后pyqt5中又没有现成的组件可以使用,于是就想着只能通过绘图的方式来实现。说到绘图的话,turtle框架无疑是最常见的选择,但其实通过pyqt5的QPain...
    99+
    2024-04-02
  • 基于PyQt5如何制作一个动态指针时钟
    这篇文章主要介绍基于PyQt5如何制作一个动态指针时钟,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!想实现这样一个功能,然后pyqt5中又没有现成的组件可以使用,于是就想着只能通过绘图的方式来实现。说到绘图的话,tu...
    99+
    2023-06-29
  • PHP怎么生成GIF动态图片验证码
    本篇内容主要讲解“PHP怎么生成GIF动态图片验证码”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“PHP怎么生成GIF动态图片验证码”吧!相信很多人都想过如何用PHP生成GIF动画来实现动态图片...
    99+
    2023-06-17
  • 基于PyQt5制作一个截图翻译工具
    目录功能介绍UI 界面截图翻译文字识别全局热键(快捷键)托盘管理主代码功能介绍 1.翻译功能 2.截图功能(快捷键 + 截图存储到剪切板中) 3.文字识别OCR(基于百度API的文字...
    99+
    2024-04-02
  • Python+PyQt5制作一个图片查看器
    目录前言实现方式测试前言 在 PyQt 中可以使用很多方式实现照片查看器,最朴素的做法就是重写 QWidget 的 paintEvent()、mouse...
    99+
    2024-04-02
  • 怎么使用PyQt5制作一个数据图表生成器
    这篇文章主要介绍了怎么使用PyQt5制作一个数据图表生成器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。我的需求:手动配置X轴、Y轴、图表标题等参数自动通过Pyecharts...
    99+
    2023-06-29
  • 基于PyQt5制作一个表情包下载器
    每次和朋友聊天苦于没有表情包,而别人的表情包似乎是取之不尽、用之不竭。作为一个程序员哪能甘愿认输,于是做了一个表情包下载器供大家斗图。 首先,还是介绍一下设计思路吧,和我们之前做的百...
    99+
    2024-04-02
  • 基于PyQt5制作一个PDF文件合并器
    操作说明:选择多个PDF文件,执行完合并后会生成一个新的PDF文件,这个新的PDF文件包含所有源PDF文件的页面。 将相关的三方模块导入到代码块中... from PyQt5.Qt...
    99+
    2024-04-02
  • Python+PyQt5如何制作一个图片查看器
    这篇文章将为大家详细讲解有关Python+PyQt5如何制作一个图片查看器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。实现方式一个最基本的照片查看器应该具有以下功能:载入图像缩放图像在窗口尺寸小于图像时...
    99+
    2023-06-29
  • 基于PyQt5制作一个windows通知管理器
    前几天看到一个python框架win10toast,它可以用来做windows的消息通知功能。通过设定通知的间隔时间来实现一些事件通知的功能,比如可以可以提醒一头扎进代码编写过程的我...
    99+
    2024-04-02
  • 基于Python做一个简单的动图生成器
    目录序言代码实战序言 现在的年轻人都开始每天保温杯里泡枸杞,这怎么能行呢? 想要每天过的好,美女必然少不了,每天看美女,只为了愉悦心情,心情好了,才长寿。 于是怀揣着愉悦心情的想法,...
    99+
    2023-01-03
    Python动图生成器 Python动图生成 Python动图
  • 基于PyQt5制作一个群发邮件工具
    演示示例使用QQ邮箱发送邮件,先获取自己的QQ邮箱的授权码。因为后面发送邮件时需要使用自己的授权码作为邮箱的密码登录邮箱最后达到发送邮件的目的。 将UI处理的相关的界面包导入进来...
    99+
    2024-04-02
  • 基于PyQT5制作一个桌面摸鱼工具
    目录前言按键功能控制主要功能核心代码前言 现在我能一整天都严肃地盯着屏幕,看起来就像在很认真地工作, 利用摸鱼,打开小说,可实行完美摸鱼,实时保存进度 用PYQT5 Mock一个摸鱼...
    99+
    2024-04-02
  • 基于PyQt5制作一个猜数字小游戏
    开始之前,直接来看一下实现后的效果。想自己实现或者需要源码的童鞋直接进场... 将PyQt5的相关模块直接导入即可。 from PyQt5.QtGui import * from ...
    99+
    2024-04-02
  • 基于PyQT5制作一个课堂点名系统
    刷抖音的时候发现一个老师在用的课堂点名系统。用PyQt5实现了一下同款,导入学生姓名,测试了一下完美运行。 操作效果展示: 完整源代码块还是放在了文章的最后面 使用的时候准备好学生...
    99+
    2024-04-02
  • 基于PyQt5怎么制作一个windows通知管理器
    本篇内容介绍了“基于PyQt5怎么制作一个windows通知管理器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!python框架win10t...
    99+
    2023-06-29
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作