• 技术文章 >后端开发 >Python教程

    python可以做动图吗

    爱喝马黛茶的安东尼爱喝马黛茶的安东尼2019-06-18 16:40:38原创2538
    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上。

    php入门到就业线上直播课:进入学习

    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()

    有两点需要注意: 图表中的散点不会动,会动的是直线。 X轴标题每一帧都在变化。

    如果你想换个再酷炫点的主题,可以用seaborn库,只需添加:

     import seaborn

    那么就会得到下面这张GIF图:

    稍微提醒一下:虽然我们这里的GIF图只有10帧,图形内容也很简单,但每一帧仍有160k左右。因为GIF动图不使用跨帧压缩,所以这就让帧比较长的GIF图变得很大。将帧数尽量减少,并且让每一帧的图像再小一点(通过在matplotlib中调整图形大小或DPI)能或多或少有助于缓解这个问题。

    以上就是python可以做动图吗的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

    前端(VUE)零基础到就业课程:点击学习

    清晰的学习路线+老师随时辅导答疑

    自己动手写 PHP MVC 框架:点击学习

    快速了解MVC架构、了解框架底层运行原理

    专题推荐:python ImageMagick 动图
    上一篇:Python能解偏微分方程吗 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • ❤️‍🔥共22门课程,总价3725元,会员免费学• ❤️‍🔥接口自动化测试不想写代码?• python类能调用实例方法吗• python创建于英国吗• python能解微分方程吗• Python能解偏微分方程吗
    1/1

    PHP中文网