我正在用Java处理生成艺术,我希望创建大量的抽象,然后将它们整理成最好的例子。目前,我通过运行具有保存功能的脚本来手动执行此操作,将编号的图像保存为JPG,但每次生成一个图像时,我都必须手动更改编号并再次运行。这太乏味了。
我想做的是添加一些代码,这些代码将运行一个循环,其中将根据我设置的规则创建图像,然后按顺序保存它(如果可能的话,随机字母数字名称将很好,因为我可以稍后批量重命名它们)。
我当然对其他安排持开放态度,比如用python或其他语言来做这个,但那样的话,我可能不得不重写绘图的代码,而且我有点着急。
把我当作一个完全的新手来跟我说话,因为我并没有比这更进一步。
saveFrame()
让您覆盖:使用#
字符作为帧号数字的占位符,就是这样!
例如:
saveFrame("abstract-frame-######.png");
将第一帧保存为abstract-frame-000001.png,第二帧保存为abstract-frame-000002.png,等等
如果你对这种格式不满意,你可以自己制作,例如使用时间戳(例如日期函数,如day()
,month()
,year()
等)与数字格式函数(例如nf()
,nfc()
,nfp()
等)配对,并将最终字符串传递给save()
。
save("abstract-frame"+nf(day(),2)+"-"+nf(month(),2)+"-"+nf(year(),4)+"-"+nf(hour(), 2)+"-"+nf(minute(),2)+"-"+nf(second(),2)+"-"+nf(millis(),3)+".png");
以后不需要重命名任何东西。只要你知道你的命名规则是什么,并且稍微摆弄一下字符串,你应该能够把你想要的文件名放在一起。
最后一个提示是,您可能希望将帧保存到单独的文件夹中。例如
saveFrame("session1/frames/abstract-frame-######.png");
这将使保持图像文件与源代码分开,这将很容易区分不同的运行"可能有不同的参数。同样,您可以使用参数值来组成文件夹名称,从而得到一些提示,哪些参数生成了每个特定的图像文件夹。