Well I can't entirely understand what you want, in your code right now it doesn't matter what the imageMode is, since you never scale them in any way. The image method when called with 3 parameters just draws the image unscaled at that location.
If what you want is four PNGs drawn thus:
Code:
_______
| | |
| a | b |
|___|___|
| | |
| c | d |
|___|___|
and clicking zooms in towards the center, then what you COULD do is,
Code:
PImage a;
PImage b;
PImage c;
PImage d;
int scaleBy = 1;
// This assumes the images have the same width and height,
// and that this is the actual size of the images you want
// to draw.
int imgwidth = 10, imgheight =10;
void setup() {
size(640,480);
a = loadImage("1.png");
b = loadImage("2.png");
c = loadImage("3.png");
d = loadImage("4.png");
}
void draw() {
background(255);
translate(width/2,height/2);
scale(scaleBy);
image(a,-imgWidth, -imgHeight);
image(b,0,-imgHeight);
image(c,-imgWidth,0);
image(d,0,0);
}
void mousePressed() {
scale += 0.1;
}
Although if I've misunderstood what you're trying to do then this will be totally useless.