java - 如何将动画保存为文件(Robert Sedgewick 和 Kevin Wayne 的“算法第 4 版”。)
问题描述
我正在阅读 Robert Sedgewick 和 Kevin Wayne 的“算法第 4 版”。
使用StdDraw
,我们可以创建动画:
package general_test;
import edu.princeton.cs.algs4.StdDraw;
public class AnimationTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
StdDraw.setScale(-2, +2);
StdDraw.enableDoubleBuffering();
for (double t = 0.0; true; t += 0.02) {
double x = Math.sin(t);
double y = Math.cos(t);
StdDraw.clear();
StdDraw.filledCircle(x, y, 0.05);
StdDraw.filledCircle(-x, -y, 0.05);
StdDraw.show();
StdDraw.pause(20);
}
}
}
我想将此动画保存为文件。
如何将此动画保存为文件?
有什么简单的方法吗?
解决方案
非常简单的方法
- 添加计数器。
int counter = 0;
- 将迭代步数限制为 1000。
for (double t = 0.0; t < 20; t += 0.02)
- 将每个迭代步骤保存为 PNG 文件。
StdDraw.save("image-"+String.format("%03d", counter++)+".png");
- 使用 ffmpeg 将这些文件转换为视频文件。
ffmpeg -i image-%03d.png video.webm
享受!
参考
推荐阅读
- mysql - 如何调试“无法添加或更新子行:外键约束失败”?
- java - 覆盖类层次结构中另一个类最终确定的方法
- linq - 我如何联合int?和 linqpad 中的 int 变量
- python - 在解析时转义错误的 XML
- javascript - 禁用移动网站上方的 adsense 广告(博主)
- octobercms - 十月 CMS 关系字段返回空数据
- python - Python tkinter 按钮不会低于标签
- apache - 在 SOLR 中的查询期间忽略特殊字符
- java - 先下载视频,再用 ExoPlayer 播放
- c# - c# FileSystemWatcher Created 事件未针对创建的所有文件触发