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

Я хочу нарисовать некоторые изображения на панели, мне нужно, чтобы изображения сохранили свои пропорции с самыми большими размерами, которые будут нарисованы на панели. Поэтому, учитывая размеры панели, я должен создать 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. Он будет динамически изменять размер значка, чтобы заполнить пространство, доступное для метки.

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