Загрузить буферизованное изображение из другого буферизованного изображения
Я работаю над обработкой изображений. У меня есть буферизованное изображение фиксированного размера
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
будет означать, что вы либо искажаете изображение, обрезаете часть изображения сверху / снизу, либо располагаете какой-либо "пустой" областью влево / вправо (а не сверху / снизу).