Если вы хотите создать масштабированную версию bimg
в scaledButtonImage
, тогда эта строка:
g1.drawImage(scaledButtonImage, 0, 0, 400, 400, null);
должна быть:
g1.drawImage(bimg, 0, 0, scaledButtonImage.getWidth(), scaledButtonImage.getHeight(),
0, 0, bimg.getWidth(), bimg.getHeight() null);
В настоящее время ваш код отрисовывается scaledButtonImage
в себя. Кроме того, если вы хотите получить масштабированную копию bimg
, вы должны использовать версию drawImage
, которая позволяет вам указывать прямоугольники назначения и источника.
Наконец, вам нужно записать scaledButtonImage
, а не bimg
. Измените эту строку
ImageIO.write(bimg, "png",file);
на
ImageIO.write(scaledButtonImage, "png",file);