
Как уменьшить размер изображения в Java
Это средство уменьшения размера изображений библиотека предлагает методы сжатия корпоративного уровня для сжатия изображений. Фактически, вы можете настроить вызовы API в соответствии с вашими бизнес-требованиями, используя различные типы и уровни сжатия, предоставляемые этой многофункциональной библиотекой. Поэтому давайте настроим эту библиотеку в нашем Java-проекте и создадим онлайн-компрессор изображений. Этот учебник научит нас, как программно уменьшить размер изображения в Java.
Будут затронуты следующие моменты:
- Установка библиотеки уменьшения размера изображения
- Уменьшите размер изображения PNG программно
- Сжатие изображений TIFF в 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:
- Загрузите исходный файл изображения PNG, вызвав метод Image.load.
- Перебрать возможный диапазон CompressionLevel.
- Создайте экземпляр класса PngOptions для каждого результирующего PNG, чтобы получить доступ к параметрам PNG.
- Установите уровень сжатия. Принимая во внимание, что уровень сжатия изображения PNG находится в диапазоне от 0 до 9, где 9 — максимальное сжатие, а 0 — режим хранения.
- Сохраните результаты на диск, вызвав метод 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.
Вы можете выполнить шаги, указанные ниже:
- Вызовите метод image.load для загрузки изображения через путь к файлу или поток.
- Создайте экземпляр TiffOptions для результирующего изображения.
- Установите BitsPerSample, фотометрический режим и режим сжатия, вызвав метод setBitsPerSample.
- Вызовите метод setCompression, чтобы установить сжатие.
- Вызовите метод setPhotometric для установки фотометрии.
- Установите палитру оттенков серого, вызвав метод setPalette.
- 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);
}
Вы можете увидеть результат на изображении ниже:

Получить бесплатную лицензию
Вы можете воспользоваться бесплатной временной лицензией, чтобы опробовать API без ограничений пробной версии.
Подведение итогов
Это подводит нас к концу этого урока. Вы узнали, как уменьшить размер изображения в Java, а также некоторые другие важные темы. Кроме того, вы узнали, как программно сжимать изображения TIFF и уменьшать размер изображения PNG. Этот пост в блоге действительно поможет вам создать онлайн-компрессор изображений, используя несколько строк исходного кода. Наконец, не пропускайте документацию, если вы хотите создать средство уменьшения размера изображения для своего бизнес-приложения.
Кроме того, мы рекомендуем вам следовать нашему Руководству по началу работы.
Наконец, conholdate.com пишет новые сообщения в блоге. Так что, пожалуйста, оставайтесь на связи для регулярных обновлений.
Задайте вопрос
Вы можете сообщить нам о своих вопросах или запросах на нашем форуме.
Часто задаваемые вопросы
Как изменить размер изображения в кодировании?
Установите эту Java-обработку изображений библиотека, чтобы программно изменять размер изображений. Он предлагает методы для управления изображениями, используя несколько строк исходного кода на Java.