中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

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

祁连县| 泗水县| 徐州市| 叶城县| 肥乡县| 麻栗坡县| 曲阳县| 富民县| 秭归县| 巴彦淖尔市| 平潭县| 精河县| 朔州市| 金山区| 年辖:市辖区| 织金县| 卓尼县| 张家口市| 庆云县| 防城港市| 东城区| 运城市| 鹤岗市| 佛山市| 大关县| 舞阳县| 瑞安市| 西盟| 平罗县| 益阳市| 嘉荫县| 怀仁县| 眉山市| 六安市| 隆尧县| 醴陵市| 桐柏县| 吐鲁番市| 大余县| 宜君县| 内丘县|