Как масштабировать изображение Graphics2D с прозрачным заполнением

Я пытаюсь написать небольшой метод, который принимаетBufferedImage изображения и новые ширина и высота и масштабирует изображение, сохраняя пропорции, добавляя прозрачную границу слева / справа или сверху / снизу в зависимости от изображения. Масштабирование работает хорошо, но для жизни я могучтобы граница была прозрачной.

Пока у меня естьследующий код размещен на pastebin.com что делает масштабирование хорошо.

Я прочитал много руководств и других вопросов, но безрезультатно. Я'мы пробовали многочисленные комбинации заливок, составных типов, типов изображений и т. д. Иногда я получаю синий фон, иногда белый, но он никогда не кажется прозрачным.

BufferedImage newImg = new BufferedImage(newWidth, newHeight, img.getType());
Graphics2D g = newImg.createGraphics();
g.setColor(Color.WHITE);
g.fillRect(0, 0, newWidth, newHeight);
g.drawImage(img, x, y, x + scaledWidth, y + scaledHeight, 0, 0,
    currentWidth, currentHeight, Color.WHITE, null);
g.dispose();
return newImg;

Любая идея, что Graphics2D вызов мне нужно сделать, чтобы иметьColor.WHITE фон быть прозрачныма также нарисовать старое изображение поверх нового? Спасибо за любую помощь.

Редактировать:

Оказалось, что проблема у меня была в том, что я пытался создать прозрачный цвет с изображением JPEG. JPEG не поддерживает прозрачность. Duh.

Ответы на вопрос(4)

Ваш ответ на вопрос