精华内容
下载资源
问答
  • python动态图的绘制和保存

    千次阅读 多人点赞 2019-12-16 11:12:23
    用matplotlib中的库可以实现动态图的绘制,下载imagemagick后可以将动态图保存为gif格式

    前言

    这段时间要做一个涉及排队论的数学建模,需要动态绘图。建好了模,却没想到在原以为简单的绘图上耗费了我大量时间。原因在于用python作动态绘图的参考资料过于琐碎。因此在我费了九牛二虎之力终于实现动态图的绘制并保存为gif动画后,我决定写下这篇博文,给这段时间踩过的一个个坑立个碑,也为后来者们提个醒

    一. 动态图示例

    衰减振荡曲线
    衰减振荡曲线
    正弦波
    正弦波
    更多例子请看官方文档

    1. 官方举例:贝叶斯曲线
    2. 官方文档 进入后下拉查看example

    二. 在pycharm上呈现动态图

    python中有两种图像呈现方式:

    1. 控制台绘图:方便保存输出记录(如将IPython 终端输出转换成 Html 文件),但无法动态绘图(大大的缺点)。
    2. 弹出窗绘图:可以交互式的放大、拖动图片,可进行动态绘图,并且能将图片保存成不同的格式。

    而pycharm默认的呈现方式是控制台绘图,因此需要作一下设置
    pycharm上实现弹出窗口绘制动态图
    呈现效果如下图所示
    弹出窗口绘图方式

    三. 动态图的绘制

    动态绘图的本质就是,反复的调用一个函数或执行一串代码,每次执行就生成一幅图,覆盖掉之前的图像,呈现“动态”效果

    方法一:调用matplotlib中库

    from matplotlib.animation import FuncAnimation
    

    用该函数创建一个类:

    ani = animation.FuncAnimation(fig, func, frames=None, init_func=None, fargs=None, save_count=None, *, cache_frame_data=True, **kwargs)
    #然后直接plt.show()就可以
    plt.show()                              
    

    主要参数解释
    fig:窗口画布,用 fig, ax = plt.subplots() 生成
    func:要反复调用的函数(至少要传入一个参数),用该函数生成、更改图像
    frames:向要调用的函数传递的参数(默认依次传入0,1,2,3…)
    init_func:用于给定图像初始信息的函数
    更多信息请参考官方文档,里面对参数含义的说明要详细的多

    例子:正弦曲线绘制

    import numpy as np
    import matplotlib.pyplot as plt
    import matplotlib.animation as animation
    
    fig, ax = plt.subplots()
    
    x = np.arange(0, 2*np.pi, 0.01)
    line, = ax.plot(x, np.sin(x))
    
    #定义init_func,给定初始信息
    def init():  # only required for blitting to give a clean slate.
        line.set_ydata([np.nan] * len(x))
        return line,
    
    #定义func,用来反复调用的函数
    def animate(i):
        line.set_ydata(np.sin(x + i / 100))  # 跟随自变量的增加更新y值
        return line,
    
    
    ani = animation.FuncAnimation(
        fig, animate, init_func=init, interval=2, blit=True, save_count=50)
    plt.show()
    

    更多信息请看官方文档:官方文档:matplotlib.animation.FuncAnimation

    方法二:使用for循环

    请参考下面这篇文章,可以仿照它用for循环实现动态绘制
    Python使用matplotlib画动态图
    for循环实现动态绘制的缺点:不容易用python代码保存为gif等格式

    四. 动态图的保存

    1. 保存为html格式

    保存为HTML格式,是不需要安装额外软件的
    导入模块加上这一条:

    from matplotlib.animation import HTMLWriter
    

    最后加上这一条:

    mywriter = HTMLWriter(fps=60)
    ani.save('myAnimation.html',writer=mywriter)
    

    2. 保存为gif格式

    保存为gif格式,需要下载一个imagemagick软件,找了我好久才找到软件来源imagemagick
    下载imagemagick
    下载的是dll,下载到任何文件夹下应该都可以。我安装在了python安装程序文件夹下。

    代码部分相当简单,只需要在最后加一条:

    ani.save('decay.gif',writer='imagemagick',fps=30)
    

    3. 保存为MP4格式

    3.1 用imagemagick保存

    如果下了imagemagick,里面自带了ffmpeg的dll,那么也只需要在最后加一条:

    ani.save('decay.gif',writer='ffmpeg',fps=30)
    

    3.2 用python库保存

    如果不像下imagemagick,可以这么做:

    from matplotlib.animation import FFMpegWriter
    

    并在最后加上:

    mywriter = FFMpegWriter(fps=60)
    ani.save('myAnimation.MP4',writer=mywriter)
    

    五. 总结

    python动态图绘制+保存整整弄了我4个半天(加上写这篇博文共5个),资料从国内网站找到国外。没有这方面系统的教程恰恰说明了python并不擅长做这个也不常用来做这个。其实相比起python,MATLAB在动态绘图上简直不知道方便了多少倍,因此如果可以的话,还是用MATLAB做动态绘图吧

    展开全文
  • 微信小程序之保存动态图片功能

    千次阅读 2019-04-29 14:47:41
    效果:(下面是电脑版,真机也可以调试成功) 1.调用wx.downloadFile方法下载图片到本地。 wx.downloadFile({ ...2.调用wx.saveImageToPhotosAlbum方法,将本地图片保存到系统相册。 wx.downloadFile({ ...

    效果图:(下面是电脑版,真机也可以调试成功)
    在这里插入图片描述
    1.调用wx.downloadFile方法下载图片到本地。

     wx.downloadFile({
          url: path,
          success: function(res) {
          }
    })
    

    2.调用wx.saveImageToPhotosAlbum方法,将本地图片保存到系统相册。

    wx.downloadFile({
          url: path,
          success: function(res) {
          wx.saveImageToPhotosAlbum({
              filePath: res.tempFilePath,
              success: function(data) {
                wx.showToast({
                  title: '保存成功',
                  icon: 'success',
                  duration: 2000
                })
              },
              fail: function(err) {
                console.log(err);
              }
            })
          }
    })
    
    展开全文
  • 有时候在展示实验结果的时候,通过一个gif的动态图可以很好进行表现,通过python生成这种gif图的原理实际上就是通过每次生成图像快照,将它们保存下来,然后通过imageio这个库再将他们组合成一个gif图。 如果没有...

    有时候在展示实验结果的时候,通过一个gif的动态图可以很好进行表现,通过python生成这种gif图的原理实际上就是通过每次生成图像快照,将它们保存下来,然后通过imageio这个库再将他们组合成一个gif图。
    如果没有安装imageio这个库的话那就先安装:

    pip install imageio
    

    下面通过模拟一段random walk来生成这个gif图。

    import numpy as np
    import imageio
    
    def random_walk():
        fig = plt.figure(figsize=(16,9))
        ax = fig.add_subplot(111)
        data = np.random.normal(size=50)
        sum = 0
        sum_list = []
        image_list = []
        for i in range(len(data)):
            sum += data[i]
            sum_list.append(sum)
            ax.plot(range(len(sum_list)), sum_list)
            plt.savefig('temp.png')
            image_list.append(imageio.imread('temp.png'))
        imageio.mimsave('pic.gif', image_list, duration=1)
    

    代码很简单,只需把每次生成的图像保存下来,然后放到一个list里面,最后通过imageio.mimsave()函数进行保存即可,其中参数duration是生成的gif图中每一张图像之间的时间间隔(s)。生成的效果如下:
    因为上面的代码是在同一个fig中进行绘制的,所以每次生成的曲线颜色会不一样,如果要保持一致,只需要每次重新创建一个fig即可,代码如下:

    def random_walk2():
        data = np.random.normal(size=40)
        sum = 0
        sum_list = []
        image_list = []
        for i in range(len(data)):
            fig = plt.figure(figsize=(16, 9))
            ax = fig.add_subplot(111)
            sum += data[i]
            sum_list.append(sum)
            ax.plot(range(len(sum_list)), sum_list)
            plt.savefig('temp.png')
            plt.close()
            image_list.append(imageio.imread('temp.png'))
        imageio.mimsave('pic.gif', image_list, duration=1)
    

    展开全文
  • 但是对于那种动画图片或GIF格式的图片,微信中是无法保存下来的,只能转发给微信好友。在PC端微信上也是一样。如果我们发现一些图片对我们有用,有什么办法可以将它保留下来呢? 把PC端微信与手机微信都升到新版,在...

    原标题:微信里的gif动态图片如何导出保存出来?看完本文你就知道了

    在微信中,看到一张图片,如果长按它,就会出现保存到手机的选项,我们就可以把这张图片导出来使用。但是对于那种动画图片或GIF格式的图片,微信中是无法保存下来的,只能转发给微信好友。在PC端微信上也是一样。如果我们发现一些图片对我们有用,有什么办法可以将它保留下来呢?

    407f2b56440ec7d94a474a97a5394f43.gif

    把PC端微信与手机微信都升到新版,在电脑端微信上,当我们在微信里产生图片等信息的时候,在安装微信的文件夹里,同时会保留下这些图片信息。如果你记得安装的文件路径直接点击进入即可。如果你不太清楚路径,可以点击PC微信的设置-通用设置,可以显示文件保存的路径顺序,复制它到我的电脑上面文件路径框里回车即可到达文件夹里。

    0103593e6fe6f5331c20859a18139344.png

    我们只需要进入所在的保存动图文件夹内,处理我们需要的那些图片即可。在一个叫做CustomEmotions的文件夹里,保存了所有的GIF格式的图片。不过打开来看,这些图片都是不可直接查看的格式。这其实是微信为了保护这些图片的版权而自动生成的,很多人制作的表情包都是动态图片,这些凝聚这创作者的心血。

    32a50a7548c9910ff29127d47f5ffead.png

    接下来需要找到自己需要的那张图片,如果图片多的话,可以利用电脑的按时间查找功能搜索到图片。为了尽量不破坏原来的文件信息,我们可以新建一个文件夹并命名,然后复制那个图片文件到这个文件夹里。接下来对这个图片进行gif格式的改写,在最后面写上.gif,确认后,它就会变成一张GIF格式的动态图片并可以正常的显示内容了。

    3372f94570bd9ce868159776f5bc44d0.png

    做完之后,我们就可以把这张需要的图片据为己用了。这就是利用微信自己的功能导出动图的方法,当然借助于手机助手类似的软件也可以做到。当我们需要把微信上的很多好玩的表情也弄出来的时候,只需要发送这个表情到好友微信或者微信群里,然后按照上面的方法操作即可。你快去试试吧。返回搜狐,查看更多

    责任编辑:

    展开全文
  • //如何将这些图片保存到一个指定的文件夹中? //"d:\\images\\image" 将图片存放在d盘images文件夹下 cvSaveImage(image_name, image); //保存一帧图片 } if(i == numFrames - 1) break; } } }...
  • 最近在研究大气重力波成像图,此文章的目的是想利用matlab生成GIF动态图以更清晰的还原大气重力波传播的特征。 在网上找到了一些方法加上自己的一点思考,总结与此。
  • 但需要将该图片保存下来以方便调用,目前想到有两种方案: 1、将图片的base64位编码保存到数据库,调用时解码显示//(这种方法小菜不知该如何获取它的base64位编码) 2、将图片保存成文件存放到服务器,再将图片路径...
  • 初学Python多久,大多数都喜欢爬取妹子图片,今天我就给大家分享一下研究出来的代码,爬取动态加载图片的网站,并且保存到本地。让大家以后不必为这个难题而烦恼。不过这里首先说一下,如果大家也自己爬取动态加载的...
  • 根据小红心的大小从曲线数据中提取适当个数的数据点,作为放置小红心位置的定位点(注:测试发现提取数据点过密的情况下,会导致相互重叠的小红心无法显示,哪位懂得解决方法请告知下,谢谢),保存下来;...
  • 很多网页的内容包括图片是用JS或Jquery动态加载的,用Webbrowser直接获得的源码是没有参考价值的,而JS加载后含所有element的代码很难获取的,起码笔者搜索了一圈下来看到的方法都几乎没有使用价值。 笔者这里分享一...
  • 在日常开发过程中,有时候会遇到需要在app中嵌入网页,此时使用WebView实现效果,但在默认情况下是无法点击图片查看大的,更无法保存图片。本文将就这一系列问题的实现进行说明。 图示:   项目的知识点: ...
  • 游戏UI动态加载图片优化

    千次阅读 2018-08-09 18:59:48
    就是我们常见的序列帧动画,它的制作方式很多,我们可以事先将其打成图集,按照顺序播放,也可以直接播放,我们接下来实现的是动态的加载,动态的打图集算法。我们实现的思路是首先获取到需要打图集的图片,...
  • MATLAB 制作gif动态图

    万次阅读 多人点赞 2017-12-20 22:26:25
    MATLAB 绘制gif动态图的基本思想就是,将一张张的静态图组合成一张能动的gif图片,并保存到相应的位置。 那么,要想制作一张动态图,首先要有若干个静态图,并且他们的索引值是连续的。下面先说一下matlab关于静态...
  • 视频片段怎么制作成gif动态图片

    千次阅读 2019-04-26 16:59:32
    每到宝贵的黄金休息时间,各大卫视的综艺节目也是在互相的追逐着收视率,期间难免会有些让人哄堂大笑的片段啊,如果能将这些精彩的瞬间制作成gif的动态图片和表情包的话,就别有一番滋味了,最出名的就是王境泽动图...
  • 这样我们用requests库得到页面源码后,再用bs4库解析标签即可保存图片到本地。当我们在看百度图片时,右键–检查–Elements,点击箭头,再用箭头点击图片时,会显示图片的位置和样式。但是,当我们右键查看网页源码...
  • 近三年前的一篇旧文,虽然在浏览器和相关技术...随着Web的迅速发展,这种轻巧而灵活的语言被委以越来越多的任务,动态地修改页面内容,一致地处理事件,甚至无刷新地和服务器交互。然而,与传统的客户端编程相比,Ja
  • 1、需求:长按页面中的一部分(里面有动态获取的用户昵称、头像及动态生成的二维码),弹出下载框,点击后将这部分保存图片下载到手机里(如) 2、分析:由于有动态获取数据,需等DOM元素生成之后,再将这一...
  • js将html生成为图片,并保存在本地

    万次阅读 2016-07-12 15:43:39
    显得未免麻烦了些,有的又是通过后台来实现的,但个人感觉没必要做这种交互,也没必要在...在这里我为大家介绍的是html2canvas,这款js,能将html转换为canvas,然后我们在将转换的图片保存下来,废话不多,实现...
  • python如何获取网络上的图片并将其保存在本地

    万次阅读 多人点赞 2017-08-01 19:04:27
    之前写爬虫大多是爬网页中的url,然后将url保存下来就可以了,倒还没有想过要获取真的图片到本地。网络上有很多方法,但是很多都是本地,或者其他,亲测了两种方法:方法一,使用urllib.urlretrieve(),之前其实偶尔...
  • $path_1 是背景,$path_2是动态图片 public function addTextToImage( $img, $text1, ) { $font = '../JDJH.ttf';//字体 $white = 255; //字体颜色,255对应的白色 $fontSize = 80; //字体大小 $circleSize...
  • 利用python 爬取动态页面的图片(以百度图片为例)

    万次阅读 多人点赞 2018-05-16 19:15:16
    前一阵子写了一个爬静态网页图片的爬虫,一直都还没写过爬动态网页的爬虫,最近在ubuntu上面装了pycharm 跟着网上的博客写了一个爬动态页面图片的爬虫,文章是以爬百度图片为例,还是很好懂的,贴的代码就是自己根据原文...
  • python画动态图-python画动态图

    千次阅读 2020-10-29 14:35:57
    广告关闭2017年12月,云+社区对外发布,从最开始的技术博客到现在拥有多个社区产品。...原来可视化不仅可用直方和箱形,还能做得如此动态好看甚至可交互。 对数据科学家来说,讲故事是一个至关重要的...
  • 教你彻底学会动态规划——入门篇

    万次阅读 多人点赞 2015-08-11 13:26:41
    动态规划相信大家都知道,动态规划算法也是新手在刚接触算法设计时很苦恼的问题,有时候觉得难以理解,但是真正理解之后,就会觉得动态规划其实并没有想象中那么难。...话不多说,接下来,下面我就...
  • 动态图现在已经融入了我们的日常网络生活,大大丰富了我们的表达方式和交流趣味性。常常是一言不合就放动图,我这里就不举例子了。咱们直接开始本文的内容。 用到的库和模块 今天用看看如何用Python写个程序,...
  • 使用JavaScript将图片保存至本地

    千次阅读 2019-03-13 08:14:03
    在最近的开发当中,我们需要为img标签以及canvas动态绘制的图像提供下载功能,下面是经过探索后我们得出的结果。 一、Canvas 版本 // 下载Canvas元素的图片 function downloadCanvasIamge(selector, name) { // ...
  • Delphi保存网页中的图片

    千次阅读 2013-12-10 13:27:26
     网页中的静态图片加载后会保存在IE缓存区内,所以只要获取图片URL在IE缓存区中对应的本地文件名,就可以使用Win32API函数:CopyFile拷贝到指定的文件名就可以了,获取URL对应本地文件名的函数如下: uses ...
  • 如何通过 Matplotlib 绘制动画及保存 GIF 图片

    万次阅读 多人点赞 2018-12-10 15:41:32
    因为经常写博客,所以也经常需要将结果保存下来,一般我会保存为 .gif 格式图片,本篇博文的 gif 图像就是通过 matplotlib 保存的。 好在用 matplotlib 实现它也并不难。 anim . save ( 'test_animation.gif' ...
  • 最近在研究怎么将安卓应用中的图片保存到手机相册。并且解决有一些手机保存图片到相册会出现发黄的问题。 如果要保存图片先在manifest中开启读写权限。 在SDCard中创建与删除文件权限 --> android:name="android...
  • Matlab如何得到MP4文件和gif动态图 我们常常使用matlab画图,有时候为了方便展示经常需要使用到动态图片来反应具体问题的情况,matlab功能强大,可以方便的导出动态过程。接下来我们具体介绍matlab如何生成mp4格式...
  • 解决Ueditor编辑器图片保存路径问题

    千次阅读 2018-06-22 14:34:12
    开发WEB项目的时候,使用到了Ueditor上传图片的功能,插件会自动将上传的图片保存在tomcat运行目录下,这种保存的方式会导致项目重新发布时丢失,非常不利于后续对图片的操作(管理),这时我们就要修改Ueditor的源码...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 170,756
精华内容 68,302
关键字:

动态图如何保存下来