ImageMagick
は、強力で安定したオープンソースのツールセットおよび開発キットであり、200 を超える基本形式の画像ファイルの読み取り、書き込み、処理に使用できます。 PNG、JPEG、GIF、HEIC、TIFF、DPX、EXR、WebP、Postscript、PDF、SVG として。 ImageMagick を使用すると、Web アプリケーションのニーズに応じて画像を動的に生成したり、画像 (または画像のグループ) にサイズの変更、回転、シャープ化、色の減算、特殊効果の追加などの操作を実行したりすることもできます。操作の結果は同じ形式で表示されるか、別の形式で保存されます。画像の操作は、コマンド ラインまたは C/C、Perl、Java、PHP、Python、Ruby プログラミングを通じて実行できます。 ImageMagic の主な焦点は、パフォーマンス、バグの削減、安定した API と ABI の提供です。
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)、または TclMagick (Tcl/TK)。
Windows ダウンロード
アドレス:
http://www.lfd.uci.edu/~gohlke/pythonlibs/#pythonmagick
OS バージョンと Python バージョンに対応する「PythonMagick」whl ファイルをダウンロードし、CMD で完全なファイル名を指定した「pip」パスを使用してインストールします。例:
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()
注意すべき点が 2 つあります。チャート 点在する点は移動せず、移動するのは直線です。 X 軸のタイトルはフレームごとに変わります。
もっとクールなテーマに変更したい場合は、seaborn ライブラリを使用できます。
import seaborn
を追加すると、次の GIF が表示されます:
ちょっと注意: ここの GIF には 10 フレームしかなく、グラフィック コンテンツは非常にシンプルですが、各フレームはまだ約 160k です。 GIF アニメーションはクロスフレーム圧縮を使用しないため、比較的長いフレームを持つ GIF 画像は非常に大きくなります。フレーム数を最小限に抑え、各フレームを小さくすると (matplotlib で Figure サイズまたは DPI を調整することで)、多かれ少なかれ、この問題を軽減できます。
以上がPythonでアニメーショングラフィックスを作成できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。