【问题标题】:How to create multiple images in Processing, then save them sequentially in a loop?如何在处理中创建多个图像,然后将它们按顺序保存在一个循环中?
【发布时间】:2021-10-27 23:31:28
【问题描述】:

我正在使用 Java 处理生成艺术,我希望创建大量摘要,然后将它们整理成最佳示例。目前,我正在通过运行具有保存功能的脚本手动执行这种操作,将编号图像保存为 JPG,但每次制作一张图像时,我都必须手动更改编号并再次执行。这是非常乏味的。

我想做的是添加一些代码,这些代码将运行一个循环,其中将根据我设置的规则创建图像,然后按顺序保存它(如果可能的话,我可以使用随机的字母数字名称稍后批量重命名它们)。

我当然愿意接受其他安排,例如在 python 或其他语言中执行此操作,但我可能不得不重写绘图代码,并且我正在热连线这件事。

像我完全是新手一样跟我说话,因为我并没有比这更进一步。

【问题讨论】:

    标签: javascript processing generative-art


    【解决方案1】:

    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");
    

    这将使图像文件与源代码分开,并且可以很容易地将具有不同参数的不同“运行”分开。同样,您可以使用参数值来组成文件夹名称,从而获得一些关于哪些参数为图像生成每个特定文件夹的提示。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-04
      • 2015-01-19
      相关资源
      最近更新 更多