I want to confirm that if you are making a simple, animated collage with 20+. png images in Processing and you have to resize the images (in the code) that it is better to use the:
.resize command in void setup()
Rather than adding a 4th and 5th argument to:
image(pic, 0,0,150,150); in void draw()
The reason I ask is that students find it easier to understand the second method because it feels similar to a rect() or ellipse(). Also, they like to grow and shrink their images with basic variables and this works well too.
If they want to resize once, they should do it in setup(). .resize() each frame is a very expensive operation, and it can slow sketches down enormously.
If they want to resize dynamically and the five-argument image() is grinding their sketch to a halt, some options to try are:
use scale();
make the image a texture on a PShape (beginShape/endShape) and redraw the shape at different sizes
save a group of pre-resized images in PImage or ArrayList and select one (from smallest to largest) based on the sketch state – for example, by changing an amt from 0-1.0 and using imgs[(int)lerp(0, imgs.length, amt)] to get the image.
Thank you for this tips - all very helpful! Our favorite trick is to use noSmooth() when our image based projects are bogged down! That is a huge help.
Hope all is well with you and the Processing foundation team. Coding is a great escape right now!