ImageMagick
ist ein leistungsstarkes, stabiles und Open-Source-Toolset und Entwicklungspaket, mit dem Bilddateien in mehr als 200 Grundformaten gelesen, geschrieben und verarbeitet werden können, darunter Formate wie als PNG, JPEG, GIF, HEIC, TIFF, DPX, EXR, WebP, Postscript, PDF und SVG. Mit ImageMagick können Sie Bilder entsprechend den Anforderungen von Webanwendungen dynamisch generieren. Sie können auch Vorgänge wie das Ändern der Größe, das Drehen, das Schärfen, das Subtrahieren von Farben oder das Hinzufügen von Spezialeffekten zu einem Bild (oder einer Gruppe von Bildern) ausführen Die Ergebnisse der Operation werden im gleichen Format angezeigt oder in anderen Formaten gespeichert. Die Operation von Bildern kann über die Befehlszeile oder durch C/C++-, Perl-, Java-, PHP-, Python- oder Ruby-Programmierung erfolgen. Das Hauptaugenmerk von ImageMagic liegt auf der Leistung, der Reduzierung von Fehlern und der Bereitstellung stabiler APIs und ABIs.
Die Funktionen von ImageMagick werden normalerweise über die Befehlszeile verwendet, können aber auch programmgesteuert verwendet werden. Die Programmierung kann über diese Schnittstellen aufrufen: 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 für PHP (PHP), IMagick (PHP), PythonMagick ( Python), Magick (R), RMagick (Ruby) oder TclMagick (Tcl/TK).
Windows-Download
Adresse:
http://www.lfd.uci.edu/~gohlke/pythonlibs/#pythonmagick
Laden Sie die WHL-Datei „PythonMagick“ herunter, die der Betriebssystemversion und der Python-Version entspricht, und installieren Sie sie dann in CMD mit der Methode „pip“ + Pfad + vollständiger WHL-Dateiname. Zum Beispiel:
pip install C:UsersStudentDesktopPythonMagick-0.9.12-cp35-none-win_amd64.whl
oder über Anaconda herunterladen
Verwandte Empfehlungen: „python Video-Tutorial》
Beispiel
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()
Es sind zwei Punkte zu beachten: Die Streupunkte im Diagramm werden nicht angezeigt bewegen; Was sich bewegt, ist eine gerade Linie. Der Titel der X-Achse ändert sich bei jedem Frame.
Wenn Sie zu einem cooleren Thema wechseln möchten, können Sie die Seaborn-Bibliothek verwenden. Fügen Sie einfach Folgendes hinzu:
import seaborn
Dann erhalten Sie das folgende GIF:
Eine kleine Erinnerung: Obwohl das GIF hier nur 10 Frames hat und der grafische Inhalt sehr einfach ist, ist jedes Frame immer noch etwa 160 KB groß. Da GIF-Animationen keine Cross-Frame-Komprimierung verwenden, werden GIF-Bilder mit relativ langen Frames sehr groß. Das Minimieren der Anzahl der Frames und das Verkleinern jedes Frames (durch Anpassen der Figurengröße oder DPI in Matplotlib) kann mehr oder weniger dazu beitragen, dieses Problem zu lindern.
Das obige ist der detaillierte Inhalt vonKann Python animierte Grafiken erstellen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!