91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

基于PyQt5如何制作一個gif動態圖片生成器

發布時間:2022-01-25 10:43:51 來源:億速云 閱讀:222 作者:柒染 欄目:開發技術

這篇文章的內容主要圍繞基于PyQt5如何制作一個gif動態圖片生成器進行講述,文章內容清晰易懂,條理清晰,非常適合新手學習,值得大家去閱讀。感興趣的朋友可以跟隨小編一起閱讀吧。希望大家通過這篇文章有所收獲!

這個小工具制作的目的是為了將多張圖片組合后生成一張動態的GIF圖片。設置界面化的操作,只需要將選中的圖片導入最后直接生成動態圖片。

基于PyQt5如何制作一個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()

效果圖如下

基于PyQt5如何制作一個gif動態圖片生成器

感謝你的閱讀,相信你對“基于PyQt5如何制作一個gif動態圖片生成器”這一問題有一定的了解,快去動手實踐吧,如果想了解更多相關知識點,可以關注億速云網站!小編會繼續為大家帶來更好的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

老河口市| 自治县| 英吉沙县| 来宾市| 玉山县| 昭平县| 晋宁县| 阿坝| 历史| 同德县| 巴楚县| 泌阳县| 长垣县| 福建省| 达日县| 鱼台县| 颍上县| 汉阴县| 崇明县| 大姚县| 嘉定区| 滨州市| 那曲县| 平谷区| 盘锦市| 会宁县| 苏州市| 博兴县| 上栗县| 丹巴县| 金阳县| 西昌市| 宁强县| 安多县| 隆安县| 东乡县| 静安区| 绥化市| 会泽县| 获嘉县| 二连浩特市|