ImageMagick
은 PNG, JPEG, GIF, HEIC, TIFF 등 200개 이상의 기본 형식으로 이미지 파일을 읽고, 쓰고, 처리하는 데 사용할 수 있는 강력하고 안정적인 오픈 소스 도구 세트 및 개발 패키지입니다. DPX, EXR, WebP, Postscript, PDF 및 SVG로. ImageMagick을 사용하면 웹 애플리케이션의 필요에 따라 이미지를 동적으로 생성할 수 있으며, 크기 변경, 회전, 선명하게 하기, 색상 빼기, 이미지(또는 이미지 그룹)에 특수 효과 추가 등의 작업을 수행할 수도 있습니다. 작업 결과는 동일한 형식으로 표시되거나 다른 형식으로 저장되며, 이미지 작업은 명령줄 또는 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 파일을 다운로드하고, 그런 다음 "pip" + 경로 + whl 전체 파일 이름을 사용하여 CMD Install을 입력합니다. 예:
pip install C:UsersStudentDesktopPythonMagick-0.9.12-cp35-none-win_amd64.whl
또는 anaconda
를 통해 다운로드 관련 권장 사항: "python video tutorial"
Example
rrre 에에
주의할 점은 두 가지입니다. 차트의 산점은 이동하지 않지만 직선은 이동합니다. X축 제목은 매 프레임마다 변경됩니다.
더 멋진 테마로 변경하려면 seaborn 라이브러리를 사용하고 다음을 추가하면 됩니다:
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()
그러면 다음과 같은 GIF 사진을 얻을 수 있습니다:
약간의 알림: 여기에 있는 GIF 사진은 있지만 프레임은 10개에 불과하고 그래픽 내용은 매우 간단하지만 각 프레임은 여전히 약 160k입니다. GIF 애니메이션은 프레임 간 압축을 사용하지 않기 때문에 상대적으로 긴 프레임의 GIF 이미지가 매우 커집니다. 프레임 수를 최소화하고 각 프레임을 더 작게 만들면(matplotlib에서 그림 크기 또는 DPI를 조정하여) 이 문제를 완화하는 데 어느 정도 도움이 될 수 있습니다.
위 내용은 파이썬으로 애니메이션 그래픽을 만들 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!