亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

基于PyQt5制作一個(gè)gif動(dòng)態(tài)圖片生成器

 更新時(shí)間:2022年01月25日 08:29:57   作者:Python 集中營(yíng)  
這篇文章主要介紹了基于PyQt5實(shí)現(xiàn)的gif動(dòng)態(tài)圖片生成器,這個(gè)小工具制作的目的是為了將多張圖片組合后生成一張動(dòng)態(tài)的GIF圖片。需要的可以參考一下

這個(gè)小工具制作的目的是為了將多張圖片組合后生成一張動(dòng)態(tài)的GIF圖片。設(shè)置界面化的操作,只需要將選中的圖片導(dǎo)入最后直接生成動(dòng)態(tài)圖片。

file

導(dǎo)入界面相關(guān)的第三方庫(kù)

from PyQt5.QtWidgets import *
from PyQt5.QtGui import *

動(dòng)態(tài)圖片處理模塊

import imageio

應(yīng)用操作相關(guān)庫(kù)

import sys
import os
from datetime import datetime

這是用圖片生成器生成的一張GIF圖片,大家在生成時(shí)盡量選擇兩張大小尺寸一致的照片生成后的動(dòng)態(tài)圖片切合度會(huì)比較高。

小工具中包含兩個(gè)重要的函數(shù)過(guò)程,一個(gè)是UI界面的制作生成,另一個(gè)是將多張圖片進(jìn)行合成GIF的動(dòng)態(tài)圖片。

UI 界面制作函數(shù)過(guò)程。

def init_ui(self):
        self.setWindowTitle('Gif圖片生成器  公眾號(hào):[Python 集中營(yíng)]')
        self.setWindowIcon(QIcon('圖標(biāo).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('存儲(chǔ)路徑')
        self.save_dir.setReadOnly(True)

        self.save_dir_btn = QPushButton()
        self.save_dir_btn.setText('存儲(chǔ)路徑')
        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動(dòng)態(tài)圖片生成過(guò)程。

    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

到此這篇關(guān)于基于PyQt5制作一個(gè)gif動(dòng)態(tài)圖片生成器的文章就介紹到這了,更多相關(guān)PyQt5動(dòng)態(tài)圖片生成器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python實(shí)現(xiàn)文件只讀屬性的設(shè)置與取消

    Python實(shí)現(xiàn)文件只讀屬性的設(shè)置與取消

    這篇文章主要為大家詳細(xì)介紹了Python如何實(shí)現(xiàn)設(shè)置文件只讀與取消文件只讀的功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下
    2023-07-07
  • 利用 Python 實(shí)現(xiàn)隨機(jī)相對(duì)強(qiáng)弱指數(shù) StochRSI

    利用 Python 實(shí)現(xiàn)隨機(jī)相對(duì)強(qiáng)弱指數(shù) StochRSI

    隨機(jī)相對(duì)強(qiáng)弱指數(shù)簡(jiǎn)稱為StochRSI,是一種技術(shù)分析指標(biāo),用于確定資產(chǎn)是否處于超買或超賣狀態(tài),也用于確定當(dāng)前市場(chǎng)的態(tài)勢(shì)。本篇文章小編九來(lái)為大家介紹隨機(jī)相對(duì)強(qiáng)弱指數(shù)簡(jiǎn)稱為StochRSI,需要的朋友可以參考下面文章的具體內(nèi)容
    2021-09-09
  • Python3.6 之后字典是有序的?

    Python3.6 之后字典是有序的?

    字典數(shù)據(jù)是有序的, 但是這個(gè)序不是由外部控制, 而是內(nèi)部字典定位機(jī)制的序 所以對(duì)外來(lái)講, 數(shù)據(jù)本身是無(wú)序的 你每次遍歷的順序一樣, 是因?yàn)槊杜e結(jié)果是按內(nèi)部排序輸出 而無(wú)序則表示在你無(wú)法從外部控制最終的輸出順序,下面我們來(lái)學(xué)習(xí)Python字典有序性的相關(guān)資料又當(dāng)怎樣吧
    2021-12-12
  • Python中Tkinter組件Menu的具體使用

    Python中Tkinter組件Menu的具體使用

    本文主要介紹了Python中Tkinter組件Menu的具體使用,Menu組件用于實(shí)現(xiàn)頂級(jí)菜單、下拉菜單和彈出菜單,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • python中的selenium入門超詳細(xì)教程

    python中的selenium入門超詳細(xì)教程

    這篇文章主要介紹了python中的selenium入門超詳細(xì)教程,本文是在python環(huán)境下使用selenium,使用瀏覽器是Chrome,系統(tǒng)是win10系統(tǒng),需要的朋友可以參考下
    2023-11-11
  • 后端開(kāi)發(fā)使用pycharm的技巧(推薦)

    后端開(kāi)發(fā)使用pycharm的技巧(推薦)

    這篇文章主要介紹了后端開(kāi)發(fā)使用pycharm的技巧,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Python3爬蟲(chóng)中Selenium的用法詳解

    Python3爬蟲(chóng)中Selenium的用法詳解

    在本篇內(nèi)容里小編給大家分享了關(guān)于Python3爬蟲(chóng)中Selenium的用法詳解內(nèi)容,需要的朋友們可以參考下。
    2020-07-07
  • pandas 按日期范圍篩選數(shù)據(jù)的實(shí)現(xiàn)

    pandas 按日期范圍篩選數(shù)據(jù)的實(shí)現(xiàn)

    這篇文章主要介紹了pandas 按日期范圍篩選數(shù)據(jù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • 如何在django中添加日志功能

    如何在django中添加日志功能

    這篇文章主要介紹了django中添加日志功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 改變 Python 中線程執(zhí)行順序的方法

    改變 Python 中線程執(zhí)行順序的方法

    這篇文章主要介紹了改變 Python 中線程的執(zhí)行順序的方法,幫助大家更好的理解和學(xué)習(xí)python,感興趣的朋友可以了解下
    2020-09-09

最新評(píng)論