Сжатие изображений ICO с помощью Java
Создавайте собственные приложения Java для сжатия (компрессии) файлов ICO с помощью серверных API
Как сжать (компрессировать) файлы ICO с помощью Java
Подготовка изображений к публикации подразумевает не только творческий процесс, ну и такую техническую работу, как, например, сжатие (компрессию) файлов. Как правило, для бумажных носителей или наружной рекламы требуются изображения в высоком разрешении, а для интернет-сайтов большой размер файла скорее будет недостатком. Исходя из назначения и среды публикации можно использовать разные параметры сжатия изображений. Файлы большого размера долго скачиваются на устройства, особенно на мобильном соединении, и ухудшают пользовательский опыт. Пользователи могут не дождаться загрузки, закрыть сайт и попытаться поискать более быстрый ресурс. В то же время, сильно сжатые изображения страдают от размытости, пиксельности и портят впечатление от просмотра. Сохранять необходимый баланс между размером файла и качеством изображения поможет оптимальный выбор алгоритмов и степени сжатия. Чтобы сжать файлы ICO, мы будем использовать Aspose.Imaging для Java API, который представляет собой многофункциональный, мощный и простой в использовании API для обработки и преобразования изображений для платформы Java. Вы можете скачать его последнюю версию прямо с Maven и установите его в своем проекте на основе Maven, добавив следующие конфигурации в файл pom.xml.
Репозиторий
<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>version of aspose-imaging API</version>
<classifier>jdk16</classifier>
</dependency>
Действия по сжатию ICO с помощью Java
Вам нужно aspose-imaging-version-jdk16.jar , чтобы попробовать следующий рабочий процесс в вашей собственной среде.
- Загрузить файлы ICO с помощью метода Image.load
- Сжимать изображения;
- Сохранение сжатого изображения на диск в поддерживаемом Aspose.Imaging формате
Системные Требования
Aspose.Imaging для Java поддерживается во всех основных операционных системах. Просто убедитесь, что у вас есть следующие предпосылки:
- Установлен JDK 1.6 или выше.
Сжатие ICO изображений - Java
import com.aspose.imaging.ColorPaletteHelper; | |
import com.aspose.imaging.FileFormat; | |
import com.aspose.imaging.Image; | |
import com.aspose.imaging.RasterImage; | |
import com.aspose.imaging.fileformats.ico.IcoImage; | |
import com.aspose.imaging.imageoptions.IcoOptions; | |
import java.io.File; | |
import java.util.stream.Stream; | |
String dataDir = "c:\\Users\\USER\\Downloads\\templates\\"; | |
// Load an ICO image. | |
try (IcoImage image = (IcoImage) Image.load(dataDir + "template.ico")) | |
{ | |
// Save output to disc according to save options that will compress each ICO frame as a PNG image | |
image.save(dataDir + "result.ico", new IcoOptions(FileFormat.Png, 32)); | |
// or you can apply low-bit BMP options. | |
IcoOptions options = new IcoOptions(FileFormat.Bmp, 8); | |
// 1, 4 and 8 bit images require a color palette. The highest quality ICO page will be used to create it. | |
Image page = Stream.of(image.getPages()).max((o1, o2) -> { | |
long val1 = (long) o1.getWidth() * o1.getHeight() * 100L + o1.getBitsPerPixel(); | |
long val2 = (long) o2.getWidth() * o2.getHeight() * 100L + o2.getBitsPerPixel(); | |
return (int) (val2 - val1); | |
}).get(); | |
// Create the color palette. | |
options.setPalette(ColorPaletteHelper.getCloseImagePalette((RasterImage) page, 1 << options.getBitsPerPixel())); | |
// Save output to disc according to save options that will compress each ICO frame as an 8-bit BMP image. | |
image.save(dataDir + "result2.ico", options); | |
// save output to disc | |
image.save(dataDir + "result.ico"); | |
} | |
new File(dataDir + "result.ico").delete(); | |
new File(dataDir + "result2.ico").delete(); |
Об Aspose.Imaging for Java API
Aspose.Imaging API — это решение для обработки изображений, позволяющее создавать, изменять, рисовать или конвертировать изображения и фотографии в приложениях. Он предлагает: кросс-платформенную обработку изображений, включая, помимо прочего, преобразования между различными форматами изображений (включая единую многостраничную или многокадровую обработку изображений), модификации, такие как рисование, работа с графическими примитивами, преобразования (изменение размера, обрезка, отражение и поворот), бинаризация, оттенки серого, настройка яркости, контрастности, расширенные функции обработки изображений (фильтрация, дизеринг, маскирование, устранение перекоса) и стратегии оптимизации памяти. Это автономная библиотека, которая не зависит от какого-либо программного обеспечения для операций с изображениями. Можно легко добавить в проекты высокопроизводительные функции преобразования изображений с помощью собственных API. Это 100% частные локальные API, а изображения обрабатываются на ваших серверах.Сжатие файлов ICO через онлайн-приложение
Сожмите документы ICO, посетив наш веб-сайт Live Demos . Online примеры имеют следующие преимущества
ICO Чем является ICO формат
Формат файла ICO — это формат файла изображения для компьютерных значков в Microsoft Windows. Файлы ICO содержат одно или несколько небольших изображений разного размера и глубины цвета, чтобы их можно было соответствующим образом масштабировать. В Windows все исполняемые файлы, отображающие значок для пользователя на рабочем столе, в меню «Пуск» или в проводнике Windows, должны иметь значок в формате ICO.
Читать далееДругие поддерживаемые форматы сжатия
Используя Java, можно легко сжимать различные форматы, в том числе: