Как изменить размер изображения, чтобы максимизировать его размеры в панели без изменения соотношения сторон
Я хочу нарисовать некоторые изображения на панели, мне нужно, чтобы изображения сохранили свои пропорции с самыми большими размерами, которые будут нарисованы на панели. Поэтому, учитывая размеры панели, я должен создать Java-код, чтобы максимизировать эти размеры. Единственные идеи, которые мне понадобились для решения какого-то линейного программирования, и я не знаю, как это сделать в Java. Какой самый простой способ сделать то, что мне нужно?
2 ответа
Решение
Вот метод, чтобы получить измененный размер BufferedImage
,
private BufferedImage resizeImage(BufferedImage originalImage, int width, int height)
throws IOException {
BufferedImage resizedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
Graphics2D g = resizedImage.createGraphics();
g.drawImage(originalImage, 0, 0, width, height, null);
g.dispose();
return resizedImage;
}
Вы можете использовать Darryl's Stretch Icon. Он будет динамически изменять размер значка, чтобы заполнить пространство, доступное для метки.