int cnt; BGraphics buf; BImage offscreenImage; boolean doSave; void setup() { size(400,400); background(200); // set up large virtual image buf=new BGraphics(3000,3000); buf.ellipseMode(CENTER_DIAMETER); // buf.smooth(); offscreenImage = new BImage(buf.pixels, buf.width, buf.height, RGB); doSave=false; } void loop() { float rad=random(10,200); buf.ellipse(random(buf.width),random(buf.height), rad,rad); image(offscreenImage, 0, 0); if(doSave) { String filename="BIG_"; if(cnt<10) filename=filename+"000"; else if(cnt<100) filename=filename+"00"; else if(cnt<1000) filename=filename+"0"; println("Saving "+filename+cnt+".tga"); buf.save(filename+cnt+".tga"); cnt++; doSave=false; } } void mousePressed() { doSave=true; }