1. Товары
  2.   Изображение
  3.   Java
  4.   Apache Commons Imaging
 
  

Обработка и манипулирование изображениями на Java с открытым исходным кодом

Ведущая библиотека редактирования и обработки изображений Java с открытым исходным кодом позволяет читать, записывать, обрабатывать и конвертировать широко используемые форматы, такие как PNG, JPEG, BMP, TIFF, ICO и другие.

Что такое Apache Commons Imaging?

Apache Commons Imaging, ранее известная как Sanselan, — это мощная библиотека Java с открытым исходным кодом, разработанная в рамках проекта Apache Commons. Она является частью более широкого проекта Apache Commons и предлагает разработчикам программного обеспечения эффективный способ чтения и записи различных форматов изображений без использования внешних библиотек. Разработчики программного обеспечения могут работать с широким спектром форматов изображений, упрощая такие задачи, как чтение и запись изображений, преобразование в другие форматы, обработка метаданных изображений, пользовательский рендеринг изображений, цветовые модели изображений, манипуляции с изображениями и т. д. Гибкость библиотеки делает ее идеальной для приложений, требующих обработки изображений без использования внешних зависимостей. Библиотека предоставляет различные фильтры изображений, включая размытие, резкость и обнаружение краев.

Apache Commons Imaging — это надежная и универсальная библиотека, которая упрощает процесс работы с файлами изображений в приложениях Java. Это библиотека на основе Java, которая поддерживает множество форматов изображений, таких как PNG, JPEG, BMP, GIF, TIFF, ICO и т. д. Более того, она предлагает инструменты для анализа изображений, включая расчет гистограммы, преобразование цветового пространства и сегментацию изображений. Это идеальный выбор для разработчиков, исследователей и энтузиастов. Библиотека предлагает эффективный и простой в использовании API для обработки изображений, что может быть особенно полезно в средах с ограниченными ресурсами. Независимо от того, работаете ли вы над проектом, требующим обработки изображений, или просто хотите поэкспериментировать с обработкой изображений, Apache Commons Imaging определенно стоит изучить.

Previous Next

Начало работы с Apache Commons Imaging

Рекомендуемый способ установки Apache Commons Imaging — использование Maven Repository. Для беспроблемной установки используйте следующую команду.

Репозиторий Maven для Apache Commons Imaging

 

<repositories>
	<repository>
	<id>AsposeJavaAPI</id>
	<name>Aspose Java API</name>
	<url>https://releases.aspose.com/java/repo/</url>
	</repository>
</repositories>

//Define Aspose.PDF for Java API Dependency

<dependencies>
	<dependency>
	<groupId>org.apache.commons</groupId>
	<artifactId>commons-imaging</artifactId>
	<version>1.0.0-alpha5</version>
	</dependency>
</dependencies>

Установите Apache Commons Imaging через GitHub

go get -u https://github.com/apache/commons-imaging.git 

Вы можете загрузить библиотеку непосредственно со страницы продукта GitHub

Преобразование изображений внутри приложений Java

Диаграммы, хранящиеся в одном формате (например, PNG), могут потребовать преобразования в другой формат (например, BMP или JPEG) для обеспечения совместимости или оптимизации. Apache Commons Imaging предлагает функции преобразования, позволяющие разработчикам без труда преобразовывать различные форматы файлов изображений между поддерживаемыми форматами. Следующий пример показывает, как легко разработчики программного обеспечения могут преобразовать файл PNG в формат BMP. Процесс прост и может обрабатывать преобразования между любыми поддерживаемыми форматами, что делает его идеальным для приложений, которым необходимо сохранять изображения в нескольких форматах для обеспечения совместимости.

Как преобразовать файл PNG в формат файла BMP с помощью Java API?


File inputFile = new File("diagram.png");
BufferedImage image = Imaging.getBufferedImage(inputFile);
File outputFile = new File("converted_image.bmp");
Imaging.writeImage(image, outputFile, ImageFormats.BMP, null);

Манипуляция изображениями с помощью библиотеки Java

Apache Commons Imaging можно использовать в сочетании с другими библиотеками Java, такими как BufferedImage, для выполнения общих преобразований изображений, таких как изменение размера, обрезка и масштабирование. Метод Scalr.resize() из другой библиотеки обработки изображений Java (imgscalr) используется для изменения размера с последующим сохранением измененного изображения с помощью Apache Commons Imaging. Это обеспечивает бесшовную интеграцию с другими библиотеками Java для расширенной обработки изображений.

Как изменить размер изображения в приложениях Java?

BufferedImage originalImage = Imaging.getBufferedImage(new File("sample_image.png"));
BufferedImage resizedImage = Scalr.resize(originalImage, 300); // Resize width to 300px

File outputFile = new File("resized_image.png");
Imaging.writeImage(resizedImage, outputFile, ImageFormats.PNG, null);

Извлечение метаданных изображений через Java API

Одной из ключевых особенностей Apache Commons Imaging является его способность извлекать метаданные из изображений внутри приложений Java. Для диаграмм эти метаданные могут содержать полезную информацию, такую ​​как дата создания, история изменений или сведения об авторе. Эта возможность позволяет разработчикам обрабатывать изображения диаграмм способами, выходящими за рамки простого отображения. Следующий пример показывает, как разработчики программного обеспечения могут извлекать метаданные из изображений внутри приложений Java.

Как извлечь метаданные из изображений с помощью Java API?

File imageFile = new File("diagram.png");
ImageInfo imageInfo = Imaging.getImageInfo(imageFile);
System.out.println("Format: " + imageInfo.getFormat());
System.out.println("Width: " + imageInfo.getWidth());
System.out.println("Height: " + imageInfo.getHeight());

Пользовательская визуализация изображений в приложениях Java

Разработчики программного обеспечения могут использовать Apache Commons Imaging для генерации изображений на лету или изменения существующих внутри приложений Java. Объединив библиотеку с собственным Graphics2D Java, можно программно рисовать на изображениях или добавлять аннотации. Следующий пример кода создает пустое изображение, добавляет к нему текст и сохраняет его как файл PNG. Он демонстрирует, как Apache Commons Imaging может работать с API рисования Java для генерации изображений с нуля.

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

BufferedImage image = new BufferedImage(400, 300, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = image.createGraphics();
graphics.setPaint(Color.WHITE);
graphics.fillRect(0, 0, image.getWidth(), image.getHeight());

graphics.setPaint(Color.BLACK);
graphics.setFont(new Font("Arial", Font.BOLD, 20));
graphics.drawString("Custom Diagram", 100, 150);

graphics.dispose();
File outputFile = new File("custom_image.png");
Imaging.writeImage(image, outputFile, ImageFormats.PNG, null);
 Русский