亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

基于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

乌鲁木齐市| 玉门市| 中方县| 鄂托克旗| 宿州市| 荔浦县| 泽普县| 湄潭县| 菏泽市| 深州市| 广州市| 涿鹿县| 聂拉木县| 和平县| 宣化县| 柳江县| 涞源县| 龙门县| 天柱县| 东乡| 亳州市| 长垣县| 茂名市| 三穗县| 修文县| 麻江县| 从江县| 古丈县| 潍坊市| 依兰县| 和平区| 民乐县| 东安县| 龙泉市| 新河县| 贡觉县| 梁山县| 乌恰县| 玉溪市| 启东市| 台东市|