Need help splitting PNG images

Hey, here is my problem:
Right now I have some methods that read in a PNG image into a BufferedImage. I then take the BufferedImage and convert it into a usable OpenGL texture. My question is this: is there any way to split the BufferedImage into multiple smaller BufferedImages?

I’ve tried using the BufferedImage.getSubimage(), however it just returns a reference to the original data, so a new smaller image is not created.

Is there a way to take a BufferedImage and make a new, smaller derivative of it (that is not a reference but a completely new BufferedImage object)?

One problem I seem to be having is that my BufferedImage is of TYPE_CUSTOM whenever I load in the PNG using BufferedImage img = ImageIO.read(url); This makes me unable to create another BufferedImage with the same byte scheme. Any Ideas?

This is a crosspost. Don’t bother with replying :slight_smile: