You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Processing中循环生成多张图片并按顺序批量保存

Processing Java版批量生成作品解决方案

完全不需要修改你现有的绘图逻辑,只需要添加少量代码即可实现自动批量导出,全程复制粘贴就能操作。

1. 全局变量添加

在你现有代码的最顶部,所有函数之外,添加2行变量定义:

int totalGenerateNum = 100; // 你要生成的总作品数,需要多少直接改数字即可
int currentIndex = 0; // 记录当前生成到第几张的计数器

2. setup()函数修改

找到你代码里的setup()函数,在函数内部最后一行加一行noLoop();,示例如下:

void setup(){
  size(1080,1080); // 这行是你原来的画布尺寸设置,不用改
  // 你原来setup里的其他代码全部保留,不用动
  noLoop(); // 只需要加这一行,关闭Processing默认的自动循环绘制
}

3. draw()函数修改

找到你代码里的draw()函数,你原来写的所有绘图代码完全保留,只需要在draw()的最后面添加以下代码:

// 自动保存图片,用编号命名不会重复
save("抽象作品_" + currentIndex + ".jpg");
currentIndex++;

// 还没生成够总数就继续生成下一张
if(currentIndex < totalGenerateNum){
  background(255); // 这里换成你自己常用的清空画布代码,比如黑底就写background(0)
  redraw(); // 触发draw重新运行,绘制下一张作品
}else{
  exit(); // 全部生成完成后自动关闭程序,不需要可以删掉这行
}

可选调整项

  • 想要随机命名避免后续排序混淆:把上面的save那行换成下面的代码,会生成带5位随机数的文件名,几乎不会重复
    save("抽象作品_" + int(random(10000,99999)) + ".jpg");
    
  • 想要看清每张的生成效果:在save代码后面加一行delay(800);,数字800代表每张生成完停顿800毫秒,数字越大停顿越久
  • 生成的所有图片会自动保存在你当前Processing项目的文件夹里,和你之前手动保存的位置完全一致。

内容的提问来源于stack exchange,提问作者mVZ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 00:06:08