基于Python做一个简单的动图生成器:热资讯
目录
序言代码实战序言
现在的年轻人都开始每天保温杯里泡枸杞,这怎么能行呢?
【资料图】
想要每天过的好,美女必然少不了,每天看美女,只为了愉悦心情,心情好了,才长寿。
于是怀揣着愉悦心情的想法,我开始制作GIF动图生成器,想要用Python来做成美女壁纸,行动起来。
这个小工具制作的目的是为了将多张图片组合后生成一张动态的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图片生成器") 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动图生成器内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
X 关闭
X 关闭
- 15G资费不大降!三大运营商谁提供的5G网速最快?中国信通院给出答案
- 2联想拯救者Y70发布最新预告:售价2970元起 迄今最便宜的骁龙8+旗舰
- 3亚马逊开始大规模推广掌纹支付技术 顾客可使用“挥手付”结账
- 4现代和起亚上半年出口20万辆新能源汽车同比增长30.6%
- 5如何让居民5分钟使用到各种设施?沙特“线性城市”来了
- 6AMD实现连续8个季度的增长 季度营收首次突破60亿美元利润更是翻倍
- 7转转集团发布2022年二季度手机行情报告:二手市场“飘香”
- 8充电宝100Wh等于多少毫安?铁路旅客禁止、限制携带和托运物品目录
- 9好消息!京东与腾讯续签三年战略合作协议 加强技术创新与供应链服务
- 10名创优品拟通过香港IPO全球发售4100万股 全球发售所得款项有什么用处?