>  기사  >  백엔드 개발  >  파이썬으로 애니메이션 그래픽을 만들 수 있나요?

파이썬으로 애니메이션 그래픽을 만들 수 있나요?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼원래의
2019-06-18 16:10:583486검색

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.