基于Python實現(xiàn)傻瓜式GIF制作工具
導語?

?嘿!大家好,我是木木子!今天給大家?guī)硪粋€好玩兒的Python小程序,希望大家喜歡,記得點點關注啦~
有沒有什么內(nèi)容形式,比小視頻更小,比普通圖片更豐富????

有!
GIF動態(tài)圖就是其中一種形式,而且,必不可少。

GIF動態(tài)圖應該是早已充斥了互聯(lián)網(wǎng),被大家玩得不亦樂乎,大伙早就不能接受文章中的純文字或
靜態(tài)圖片,這些早已經(jīng)不能表現(xiàn)大家心里所想。唯有動態(tài)圖,才能表達體內(nèi)的洪荒之力。
?哈哈哈,今天的話木子以斗羅大陸為例子,教大家制作幾款不同人物風格的GIF動圖!
?一、簡單的GIF制作
1)準備中
1.1 簡單的動圖制作涉及的環(huán)境如下:
Python3、Pycharm、Pillow模塊。
模塊安裝:
pip install +模塊名 或pip install -i https://pypi.douban.com/simple/ +模塊名
1.2 素材準備
第一組:小舞3張圖。

第二組:寧榮榮8張圖。

2)小簡介
PIL最重要的類是Image你可以從文件加載圖像,或者處理其他圖像, 或者從 scratch 創(chuàng)建。
要從文件加載圖像 通過Image 模塊的open() 函數(shù)。
3)代碼演示
就是連續(xù)的圖片打開形成的gif圖。(效果動態(tài)視頻的話都放在最后面的哈)
from PIL import Image
im = Image.open("1.jpg")
images = []
images.append(Image.open('xx'))
images.append(Image.open('xx'))
images.append(Image.open('xx'))
.......想放多少放多少......
im.save('gif.gif', save_all=True, append_images=images, loop=1, duration=1, comment=b"aaabb")
二、升級imageio的GIF制作
1)準備中
1.1 簡單的動圖制作涉及的環(huán)境如下:
Python3、Pycharm、imageio模塊。
模塊安裝:
pip install +模塊名 或pip install -i https://pypi.douban.com/simple/ +模塊名
1.2 素材準備
第一組:小舞30張圖。

第二組:朱竹清戴沐白37張圖。

2)小簡介
IMAIO是一個Python庫,它提供了一個簡單的接口來讀取和寫入大量的圖像數(shù)據(jù),包括動畫圖像、體積數(shù)據(jù)和科學格式。它是跨平臺的,運行在Python 2 .x和3。x上,并且易于安裝。
imageio.imread() #從指定的文件讀取圖像。返回一個NUMPY數(shù)組,該數(shù)組帶有元數(shù)據(jù)的元屬性。注意,圖像數(shù)據(jù)按原樣返回,并且可能不總是具有uTI8的dType(因此可能不同于例如PIL返回)。?
3)代碼演示
首先讀取靜態(tài)圖到列表,作為GIF的每一幀;接著設置輸入(靜態(tài)圖)、輸出(動態(tài)圖)和一些必要參數(shù),我們這里設置每一幀間隔時間為xx秒,默認是1秒,之后調(diào)用miageio.mimsave函數(shù)去保存結(jié)果。(效果動態(tài)視頻的話都放在最后面的哈)
import imageio
def create_gif(image_list, gif_name, duration = 1.0):
'''
:param image_list: 這個列表用于存放生成動圖的圖片
:param gif_name: 字符串,所生成gif文件名,帶.gif后綴
:param duration: 圖像間隔時間
:return:
'''
frames = []
for image_name in image_list:
frames.append(imageio.imread(image_name))
imageio.mimsave(gif_name, frames, 'GIF', duration=duration)
return
def main():
#這里放上自己所需要合成的圖片
image_list = ['xx', 'xx', 'xx'] #可放多張的哈
gif_name = 'new.gif' #合成gif圖名稱可修改
duration = xx #每一幀間隔時間為xx秒
create_gif(image_list, gif_name, duration)
if __name__ == '__main__':
main()
三、總效果展示
安利一款制作GIF的小程序:原來可以這么簡單啊~?
到此這篇關于基于Python實現(xiàn)傻瓜式GIF制作工具的文章就介紹到這了,更多相關Python GIF制作工具內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
使用python腳本自動創(chuàng)建pip.ini配置文件代碼實例
這篇文章主要介紹了使用python腳本自動創(chuàng)建pip.ini配置文件代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-09-09
Python 拷貝對象(深拷貝deepcopy與淺拷貝copy)
Python中的對象之間賦值時是按引用傳遞的,如果需要拷貝對象,需要使用標準庫中的copy模塊。2008-09-09
Python實現(xiàn)簡單求解給定整數(shù)的質(zhì)因數(shù)算法示例
這篇文章主要介紹了Python實現(xiàn)簡單求解給定整數(shù)的質(zhì)因數(shù)算法,結(jié)合實例形式分析了Python正整數(shù)分解質(zhì)因數(shù)的相關操作技巧,需要的朋友可以參考下2018-03-03
selenium在執(zhí)行phantomjs的API并獲取執(zhí)行結(jié)果的方法
今天小編就為大家分享一篇selenium在執(zhí)行phantomjs的API并獲取執(zhí)行結(jié)果的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-12-12

