gif動態圖片生成器,多張圖片組合后生成動圖...

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

目前成都創新互聯公司已為近1000家的企業提供了網站建設、域名、虛擬主機、網站托管維護、企業網站設計、邵東網站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協力一起成長,共同發展。

需要完整源碼前往文末,文末附完整源碼獲取方式。

導入界面相關的第三方庫

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('.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 知識分享的公眾號,希望可以得到您的關注~

【往期精彩】

python幾個常見的數據處理操作,一行代碼就能完成!

過年了,用 PyQt5 生成一副春聯吧...

記錄一下python中的十大%占位符對應的格式化...

PyQt5 UI 制作一個豆瓣電影信息查看器,初識QThread多線程...

PyQt5 最小化到托盤,升級小鬧鐘...

網頁名稱:gif動態圖片生成器,多張圖片組合后生成動圖...
轉載注明:http://m.kartarina.com/article28/dsojdcp.html

成都網站建設公司_創新互聯,為您提供動態網站網站設計定制網站網站內鏈App開發標簽優化

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

成都定制網站網頁設計
主站蜘蛛池模板: 成年轻人电影www无码| 久久无码专区国产精品| 久久久久无码精品国产h动漫| 亚洲AV无码国产一区二区三区| 日韩人妻无码一区二区三区综合部| 精品多人p群无码| 中文精品无码中文字幕无码专区| 亚洲国产成AV人天堂无码| 精品一区二区无码AV| 无码粉嫩小泬无套在线观看| 亚洲av永久无码精品国产精品| 少妇爆乳无码专区| 久久亚洲精品无码VA大香大香| 亚洲日韩VA无码中文字幕| 亚洲av成本人无码网站| 精品欧洲av无码一区二区三区| 国产综合无码一区二区辣椒 | 亚洲人成无码网站在线观看| 中文无码日韩欧免费视频| 亚洲AV无码精品国产成人| 蜜桃臀AV高潮无码| 人妻丰满av无码中文字幕| 亚洲日韩精品无码一区二区三区| 无码无套少妇毛多69XXX| 亚洲国产精品无码久久| 亚洲av永久无码嘿嘿嘿| 无码av最新无码av专区| 国产AV无码专区亚洲AV毛网站| 精品人体无码一区二区三区| 亚洲?V无码成人精品区日韩 | 无码国内精品久久人妻蜜桃| av无码东京热亚洲男人的天堂| 日本精品无码一区二区三区久久久 | 亚洲精品无码国产片| 西西午夜无码大胆啪啪国模| 无码国产色欲XXXXX视频| 亚洲AV人无码激艳猛片| 色窝窝无码一区二区三区| 精品视频无码一区二区三区| 在线看片福利无码网址| 亚洲精品无码不卡在线播放|