首頁  >  文章  >  後端開發  >  python可以做動圖嗎

python可以做動圖嗎

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼原創
2019-06-18 16:10:583498瀏覽

ImageMagick

是一套功能強大、穩定且開源的工具集和開發包,可以用來讀、寫和處理超過200種基本格式的圖片文件,包括PNG,JPEG,GIF,HEIC,TIFF,DPX,EXR,WebP,Postscript,PDF和SVG等格式。利用ImageMagick,可以根據web應用程式的需要動態生成圖片, 還可以對一個(或一組)圖片進行改變大小、旋轉、銳化、減色或增加特效等操作,並將操作的結果以相同格式或其它格式保存,對圖片的操作,既可以透過命令列進行,也可以透過C/C 、Perl、Java、PHP、Python或Ruby程式來完成。 ImageMagic的主要精力集中在效能,減少bug以及提供穩定的API和ABI。

python可以做動圖嗎

ImageMagick的功能通常透過命令列使用,也可以透過程式設計來使用。程式設計可以選擇透過這些介面呼叫:G2F (Ada),MagickCore (C),MagickWand (C),ChMagick (Ch),ImageMagickObject (COM ),Magick (C ),JMagick (Java),JuliaIO (Julia),L- Magick (Lisp),Lua (LuaJIT),NMagick (Neko/haXe),Magick.NET (.NET),PascalMagick (Pascal),PerlMagick (Perl),MagickWand for PHP (PHP),IMagick (PHP),PythonMagick (Python ),magick (R),RMagick (Ruby),or TclMagick (Tcl/TK)。

Windows下載

網址:

http://www.lfd.uci.edu/~gohlke/pythonlibs/#pythonmagick

下載對應OS版本和Python版本的「PythonMagick」whl文件,然後CMD裡面以「pip」路徑whl完整文件名的方法安裝。例如:

pip install C:\Users\Student\Desktop\PythonMagick-0.9.12-cp35-none-win_amd64.whl

或透過anaconda下載

相關推薦:《python影片教學

範例

import sys
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
 
fig, ax = plt.subplots()
fig.set_tight_layout(True)
 
# 询问图形在屏幕上的大小和DPI(每英寸点数)
# 注意当把图形保存为文件时,需要为此单独再提供一个DPI
print('fig size: {0} DPI, size in inches {1}'.format(
 fig.get_dpi(), fig.get_size_inches()))
 
# 绘制一个保持不变(不会被重新绘制)的散点图以及初始直线
x = np.arange(0, 20, 0.1)
ax.scatter(x, x + np.random.normal(0, 3.0, len(x)))
line, = ax.plot(x, x - 5, 'r-', linewidth=2)
 
def update(i):
 label = 'timestep {0}'.format(i)
 print(label)
# 更新直线和轴(用一个新X轴标签)
 # 以元组形式返回这一帧需要重新绘制的物体
 line.set_ydata(x - 5 + i)
 ax.set_xlabel(label)
 return line, ax
 
if __name__ == '__main__':
 # 会为每一帧调用Update函数
 # 这里FunAnimation设置一个10帧动画,每帧间隔200ms
 anim = FuncAnimation(fig, update, frames=np.arange(0, 10), interval=200)
 if len(sys.argv) > 1 and sys.argv[1] == 'save':
  anim.save('line.gif', dpi=80, writer='imagemagick')
 else:
  # Plt.show()会一直循环动画
  plt.show()

python可以做動圖嗎

有兩點要注意: 圖表中的散點不會動,會動的是直線。 X軸標題每一幀都在變化。

如果你想換個再酷炫點的主題,可以用seaborn庫,只需添加:

 import seaborn

那麼就會得到下面這張GIF圖:

python可以做動圖嗎

稍微提醒一下:雖然我們這裡的GIF圖只有10幀,圖形內容也很簡單,但每一幀仍有160k左右。因為GIF動圖不使用跨幀壓縮,所以這就讓幀比較長的GIF圖變得很大。將幀數盡量減少,並且讓每一幀的圖像再小一點(透過在matplotlib中調整圖形大小或DPI)能或多或少有助於緩解這個問題。

以上是python可以做動圖嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn