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. Поєднавши бібліотеку з рідною Java Graphics2D, можна програмно малювати на зображеннях або додавати анотації. У наведеному нижче прикладі коду створюється порожнє зображення, додається до нього текст і зберігається як файл 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);
 Українська