I've been stuck at something recently. What I want to do is to get multiple sub-images out of 1 big image. So take this example. I have a frame of 128x128 pixels where all the images need to be in. I'm putting all the bufferedImages inside a list and scaling all those images to 128x128. The image you see on that link is showing that I need 4 sub-images from that image, so at the end, I have 4 images which are 128x128 but 4 times. Or if you have an image with 128x384 it will give 3 sub-images going from top to bottom. I know there is a function called Code (Java): BufferedImage.getSubimage(int x, int y, int w, int h); But the problem is that I can't figure out what math I need to implement. What I tried is if the height or width is higher than 200 then divide it by 2 but that never worked for me.