查看原文
其他

Processing3.0 Gif动图导出技巧

2016-07-17 Wenzy InsLab

很早前一篇文章中分享过制作 Gif 动图的技巧。

Processing 小技巧 - 制作GIF动图

不少朋友反映,此方法无法支持 Processing3.0。特此补充一下在 3.0 版本下的导出方法。

在 Processing3.0 中若想直接导出 Gif 动图。需要用到 gifAnimation 模块。一般导入库的方式都是这样的。在菜单栏中选择 “ 速写本 - 引用库文件 - 添加库文件 ”


点开后会出现搜索窗口


在其中搜索 gifAnimation 便会出现相关的信息


但通过此方式搜索到的仍然是 2.0 的版本,无法直接下载使用。

我们需要到 github 上下载最新的 3.0 版本(此版本由 Jerome Saint-Clair 在原有的 2.0 基础上改写)。

下载后将文件名改为 gifAnimation 并放到 Processing 下面的 libraies 文件夹即可使用。

具体的调用技巧与之前的一致。使用的时候,可以将下面的代码整段粘在原代码前面。接着在原程序的 setup 和 draw 后面加上一条下划线。

import gifAnimation.*; GifMaker exp; void setup(){  size(600,600);  setup_();  exp = new GifMaker(this,"1.gif");  exp.setRepeat(0);  //Gif重复播放的次数,0为循环播放  exp.setDelay(50); //设置帧与帧之间的延迟时间,单位为毫秒。数值为50时,帧率则为 20(1000/50)。 } void draw(){  draw_();  if(frameCount % 1 == 0){   //每间隔多少帧,写入一次(相当于改变播放速率)    exp.addFrame();  //将当前帧写入文件内  } } void mousePressed(){   exp.finish();   //导出Gif } /////////////////////////

与之前的技巧略微有区别,若是此时直接点运行,程序是会报错的。


根据语法的错误提示,我们需要将 size 函数写在 setup 函数中(而不是我们定义的 setup_ 函数)


只要调整 size 的位置,程序就能正常运行 gifAnimation 模块,并导出各种 Gif 动图了。


Enjoy!


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存