Как уменьшить размер изображения в Java

Как уменьшить размер изображения в Java

Это средство уменьшения размера изображений библиотека предлагает методы сжатия корпоративного уровня для сжатия изображений. Фактически, вы можете настроить вызовы API в соответствии с вашими бизнес-требованиями, используя различные типы и уровни сжатия, предоставляемые этой многофункциональной библиотекой. Поэтому давайте настроим эту библиотеку в нашем Java-проекте и создадим онлайн-компрессор изображений. Этот учебник научит нас, как программно уменьшить размер изображения в Java.

Будут затронуты следующие моменты:

Установка библиотеки уменьшения размера изображения

Установка любой библиотеки имеет значение, когда речь идет о быстрой разработке приложений. В любом случае, вы можете скачать файл JAR или установить эту библиотеку, используя следующие конфигурации Maven.

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>
<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-imaging</artifactId>
    <version>20.12</version>
    <classifier>jdk16</classifier>
</dependency>

Уменьшите размер изображения PNG программно

Эта библиотека предлагает огромный набор методов, которые вы можете найти здесь. Кроме того, вы можете установить цвет, тип сжатия и многие другие атрибуты изображений программно.

Выполните следующие шаги и фрагмент кода, чтобы сжать изображения PNG:

  1. Загрузите исходный файл изображения PNG, вызвав метод Image.load.
  2. Перебрать возможный диапазон CompressionLevel.
  3. Создайте экземпляр класса PngOptions для каждого результирующего PNG, чтобы получить доступ к параметрам PNG.
  4. Установите уровень сжатия. Принимая во внимание, что уровень сжатия изображения PNG находится в диапазоне от 0 до 9, где 9 — максимальное сжатие, а 0 — режим хранения.
  5. Сохраните результаты на диск, вызвав метод save.

Скопируйте и вставьте следующий код в основной файл:

// Загрузите исходный файл изображения PNG, вызвав метод Image.load.  
Image image = Image.load(  "output.png");
// Перебрать возможный диапазон CompressionLevel
for (int i = 0; i <= 9; i++) {
    // Создайте экземпляр PngOptions для каждого результирующего PNG, чтобы получить доступ к параметрам PNG.
    PngOptions options = new PngOptions();
    // Установите уровень сжатия. Принимая во внимание, что уровень сжатия изображения PNG находится в диапазоне от 0 до 9, где 9 — максимальное сжатие, а 0 — режим хранения. 
    options.setCompressionLevel(i);
    // Сохраните результат на диск, вызвав метод сохранения. 
    image.save("CompressingFiles_out" + i + ".png", options);
}

Сжатие изображений TIFF в Java

Кроме того, эта библиотека позволяет вам создать онлайн-компрессор изображений, в котором вы можете уменьшить размер файлов изображений TIFF, используя несколько строк кода Java.

Вы можете выполнить шаги, указанные ниже:

  1. Вызовите метод image.load для загрузки изображения через путь к файлу или поток.
  2. Создайте экземпляр TiffOptions для результирующего изображения.
  3. Установите BitsPerSample, фотометрический режим и режим сжатия, вызвав метод setBitsPerSample.
  4. Вызовите метод setCompression, чтобы установить сжатие.
  5. Вызовите метод setPhotometric для установки фотометрии.
  6. Установите палитру оттенков серого, вызвав метод setPalette.
  7. Save вывод.
// Вызовите метод image.load, чтобы загрузить изображение через путь к файлу или поток.  
try (Image image = Image.load(  "sample.tiff"))
{
    // Создайте экземпляр TiffOptions для результирующего изображения. 
    TiffOptions outputSettings = new TiffOptions(TiffExpectedFormat.Default);
    // Установите BitsPerSample, фотометрический режим и режим сжатия, вызвав метод setBitsPerSample.
    outputSettings.setBitsPerSample(new int[] { 4 });
    // Вызовите метод setCompression, чтобы установить сжатие. 
    outputSettings.setCompression(TiffCompressions.AdobeDeflate);
    // Вызовите метод setPhotometric, чтобы установить фотометрию. 
    outputSettings.setPhotometric(TiffPhotometrics.Palette);
    // Установите палитру оттенков серого, вызвав метод setPalette. 
    outputSettings.setPalette(ColorPaletteHelper.create4BitGrayscale(false));
    // Сохраните вывод. 
    image.save(  "out_adobedeflate.tiff", outputSettings);
}

Вы можете увидеть результат на изображении ниже:

Сжатие изображений TIFF

Получить бесплатную лицензию

Вы можете воспользоваться бесплатной временной лицензией, чтобы опробовать API без ограничений пробной версии.

Подведение итогов

Это подводит нас к концу этого урока. Вы узнали, как уменьшить размер изображения в Java, а также некоторые другие важные темы. Кроме того, вы узнали, как программно сжимать изображения TIFF и уменьшать размер изображения PNG. Этот пост в блоге действительно поможет вам создать онлайн-компрессор изображений, используя несколько строк исходного кода. Наконец, не пропускайте документацию, если вы хотите создать средство уменьшения размера изображения для своего бизнес-приложения.

Кроме того, мы рекомендуем вам следовать нашему Руководству по началу работы.

Наконец, conholdate.com пишет новые сообщения в блоге. Так что, пожалуйста, оставайтесь на связи для регулярных обновлений.

Задайте вопрос

Вы можете сообщить нам о своих вопросах или запросах на нашем форуме.

Часто задаваемые вопросы

Как изменить размер изображения в кодировании?

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

Смотрите также