Как я могу изменить размер изображения с помощью Java?

Я должен изменить размер PNG, JPEG и файлов GIF. Как я могу сделать этот Java использования?

123
задан Kara 28 July 2014 в 23:44
поделиться

5 ответов

После загрузки изображения можно попробовать:

BufferedImage createResizedCopy(Image originalImage, 
            int scaledWidth, int scaledHeight, 
            boolean preserveAlpha)
    {
        System.out.println("resizing...");
        int imageType = preserveAlpha ? BufferedImage.TYPE_INT_RGB : BufferedImage.TYPE_INT_ARGB;
        BufferedImage scaledBI = new BufferedImage(scaledWidth, scaledHeight, imageType);
        Graphics2D g = scaledBI.createGraphics();
        if (preserveAlpha) {
            g.setComposite(AlphaComposite.Src);
        }
        g.drawImage(originalImage, 0, 0, scaledWidth, scaledHeight, null); 
        g.dispose();
        return scaledBI;
    }
86
ответ дан 24 November 2019 в 01:11
поделиться

Если Вы имеете дело с большими изображениями или хотите симпатичный результат, это не тривиальная задача в Java. Просто выполнение его через перемасштаб op через Graphics2D не создаст высококачественную миниатюру. Можно сделать это с помощью JAI, но требуется больше работы, чем Вы вообразили бы для получения чего-то, что выглядит хорошим, и JAI имеет противную привычку к выдуванию нашей JVM с ошибками OutOfMemory.

я предлагаю использовать ImageMagick в качестве внешнего исполняемого файла, если можно выйти сухим из воды. Его простое для использования и это делает задание правильно так, чтобы Вы не имели к.

9
ответ дан 24 November 2019 в 01:11
поделиться

Вам не нужна библиотека, чтобы сделать это. Можно сделать это с самим Java.

у Chris Campbell есть превосходная и подробная рецензия при масштабировании изображений - видят , эта статья .

Chet Haase и Romain Guy также имеет подробную и очень информативную рецензию изображения, масштабирующегося в их книге, Грязные Толстые клиенты .

12
ответ дан 24 November 2019 в 01:11
поделиться

Java Усовершенствованная Обработка изображений является теперь открытым исходным кодом и обеспечивает операции, в которых Вы нуждаетесь.

10
ответ дан 24 November 2019 в 01:11
поделиться

Если , установка imagemagick на вашем компьютере является вариантом, я рекомендую im4java . Это очень тонкий слой абстракции в интерфейсе командной строки, но он очень хорошо выполняет свою работу.

4
ответ дан 24 November 2019 в 01:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: