Hi I would like to know if there is any way in Java to reduce the size of an image (use any kind of compression) that was loaded as a BufferedImage and is going to be saved
Have a look at the ImageWriterParam class in the same package as the ImageIO class. It mentions compression.
https://docs.oracle.com/javase/7/docs/api/javax/imageio/ImageWriteParam.html
Also look at the example at http://exampledepot.com/egs/javax.imageio/JpegWrite.html and see if it translates well for PNG files.