這篇文章主要介紹Python怎么快速創(chuàng)建 GIF 動(dòng)圖,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!
成都創(chuàng)新互聯(lián)作為成都網(wǎng)站建設(shè)公司,專注成都網(wǎng)站建設(shè)、網(wǎng)站設(shè)計(jì),有關(guān)成都企業(yè)網(wǎng)站建設(shè)方案、改版、費(fèi)用等問(wèn)題,行業(yè)涉及陽(yáng)臺(tái)護(hù)欄等多個(gè)領(lǐng)域,已為上千家企業(yè)服務(wù),得到了客戶的尊重與認(rèn)可。
GIF(“圖形交換格式”)是一種位圖圖像格式,于1987年開(kāi)發(fā)。
GIF基本上是一系列具有不同設(shè)置的圖像,例如:
循環(huán)播放
每幀的持續(xù)時(shí)間(圖片)
其他…
GIF 也可以是靜態(tài)圖像。
Pillow 是 Python 圖形處理庫(kù) PIL 的一個(gè)分支,引入了許多更改和增強(qiáng)功能,以使API易于使用或處理更多圖像格式和要求。支持打開(kāi)、處理和保存多種不同格式的圖片文件。
第一步,我們需要先安裝 Pillow:
pip install Pillow
我們生成一張紅球往下墜落的 GIF 動(dòng)圖,作為文章示例。
首先,編寫一個(gè)函數(shù),利用 Pillow 在一張圖片上畫一個(gè)紅球。
from PIL import Image, ImageDraw def create_image_with_ball(width, height, ball_x, ball_y, ball_size): img = Image.new('RGB', (width, height), (255, 255, 255)) draw = ImageDraw.Draw(img) # draw.ellipse takes a 4-tuple (x0, y0, x1, y1) where (x0, y0) is the top-left bound of the box # and (x1, y1) is the lower-right bound of the box. draw.ellipse((ball_x, ball_y, ball_x + ball_size, ball_y + ball_size), fill='red') return img
上述代碼中,我們使用 Image.new
創(chuàng)建了一張 RGB 圖片,并設(shè)置背景為白色,指定了圖片大小。
接著,通過(guò) ImageDraw
在圖片中的指定參數(shù)位置,畫了一個(gè)紅色的圓圈。所以,我們要做的就是創(chuàng)建多張圖片,不斷讓紅球往下墜。
# Create the frames frames = [] x, y = 0, 0 for i in range(10): new_frame = create_image_with_ball(400, 400, x, y, 40) frames.append(new_frame) x += 40 y += 40 # Save into a GIF file that loops forever frames[0].save('moving_ball.gif', format='GIF', append_images=frames[1:], save_all=True, duration=100, loop=0)
解釋下上面的代碼:
初始化一個(gè)空列表 frames
,以及 0點(diǎn)坐標(biāo) x
和 y
用一個(gè)運(yùn)行十次的 for 循環(huán),每次創(chuàng)建一張 400x400 大小的圖片,圖片中紅球的位置不同
更改紅球的坐標(biāo),讓紅球沿著對(duì)角線往下墜
設(shè)置參數(shù) format='GIF'
, append_images=frames[1:]
,保存 GIF 圖片
每幀圖片播放100毫秒( duration=100
)
GIF圖片一直重復(fù)循環(huán)( loop=0
,如果設(shè)置為 1,則循環(huán)1次,設(shè)置為2則循環(huán)2次,以此類推)
以上是“Python怎么快速創(chuàng)建 GIF 動(dòng)圖”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
當(dāng)前題目:Python怎么快速創(chuàng)建GIF動(dòng)圖
轉(zhuǎn)載來(lái)于:http://jinyejixie.com/article30/pgidpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營(yíng)銷、外貿(mào)網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站策劃、搜索引擎優(yōu)化、服務(wù)器托管
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)