Загрузить буферизованное изображение из другого буферизованного изображения

Я работаю над обработкой изображений. У меня есть буферизованное изображение фиксированного размера

BufferedImage targetImage = new BufferedImage(320, 240,BufferedImage.TYPE_INT_RGB);

Допустим, оригинальное буферизованное изображение имеет размер 180 на 240.

Теперь я хочу загрузить оригинальное изображение (180X240) для целевого изображения (320X240) или как-то изменить ширину и высоту scaledImage на 320 на 240, которые будут иметь белые отступы внизу.

Заранее спасибо.

1 ответ

Решение

Вы должны быть в состоянии "нарисовать" исходное изображение в целевое изображение, т.е.

targetImage.getGraphics().drawImage(sourceImage, 0, 0, 
   Math.min(targetImage.getWidth(), sourceImage.getWidth()), 
   Math.min(targetImage.getHeight(), sourceImage.getHeight()),
   null);

Обратите внимание, что увеличение 180x240 в 320x240 будет означать, что вы либо искажаете изображение, обрезаете часть изображения сверху / снизу, либо располагаете какой-либо "пустой" областью влево / вправо (а не сверху / снизу).

Другие вопросы по тегам