Ви шукаєте найкраще, але просте у застосуванні рішення для кадрування зображень для вашої програми Java? Якщо так, ця стаття навчить вас, як обрізати зображення в Java за кілька простих кроків.

Обрізати зображення в Java

У попередніх публікаціях блогу ми показали вам, як застосувати різні функції редагування зображень, такі як зміна розміру, перевертання та обертання зображень. Поряд із цими функціями, кадрування зображень широко використовується для обрізання небажаних областей на зображеннях. Крім того, ви обрізаєте зображення, щоб сфокусуватися на певному об’єкті в кадрі. У цій статті ви дізнаєтеся, як програмно обрізати зображення в Java. Ми продемонструємо, як обрізати зображення за допомогою значень зсуву або за допомогою прямокутника.

Обрізати зображення в Java - встановлення API

Aspose.Imaging for Java — це дивовижний API для редагування зображень, який надає широкий спектр функцій для роботи з зображеннями. Крім того, він підтримує різноманітні растрові та векторні формати зображень. Ми будемо використовувати цей API для обрізання зображень із нашої програми Java. Ви можете завантажити API або встановити його за допомогою наведених нижче конфігурацій 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>22.9</version>
</dependency>

Як обрізати зображення в Java

Існує два способи кадрування растрового зображення: зсув значень і прямокутник. У першому методі нам потрібно надати значення зсуву вліво, вправо, зверху та знизу, щоб обрізати зображення. Тоді як у другому методі ми визначаємо прямокутник для обрізання певної області зображення.

Давайте розглянемо кожен із вищезгаданих методів обрізання зображень у Java.

Обрізати зображення зі значеннями зсуву

Нижче наведено кроки для кадрування зображення за допомогою значень зсуву в Java.

  • Спочатку завантажте зображення в об’єкт RasterImage за допомогою методу Image.load().
  • Кешуйте зображення, якщо воно не є.
  • Визначте значення зсуву ліворуч, праворуч, зверху та знизу.
  • Обрізати зображення за допомогою методу RasterImage.crop().
  • Збережіть обрізане зображення за допомогою методу RasterImage.save().

У наступному прикладі коду показано, як обрізати зображення в Java.

// Завантажте зображення.
try (RasterImage rasterImage = (RasterImage) Image.load("image.jpg")) {
	// Перед обрізанням зображення слід кешувати для кращої продуктивності.
	if (!rasterImage.isCached()) {
		rasterImage.cacheData();
	}

	// Визначте значення зсуву для всіх чотирьох сторін.
	int leftShift = 10;
	int rightShift = 10;
	int topShift = 10;
	int bottomShift = 10;

	// На основі значень зсуву застосуйте кадрування до зображення. Метод кадрування зміниться
	// зображення обмежується до центру зображення та збережіть результати на диск.
	rasterImage.crop(leftShift, rightShift, topShift, bottomShift);

	// Зберегти обрізане зображення.
	rasterImage.save("cropped.jpg");
}

Нижче наведено вхідне зображення, яке ми використовували для обрізання.

обрізати зображення в Java

Нижче наведено отримане обрізане зображення.

кадрування зображення в Java

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

Ви також можете визначити прямокутник, щоб обрізати потрібну область зображення. Наступні кроки демонструють кадрування зображення за допомогою прямокутника в Java.

  • Спочатку завантажте зображення в об’єкт RasterImage за допомогою методу Image.load().
  • Кешуйте зображення, якщо воно не є.
  • Створіть об’єкт Rectangle та задайте йому потрібний розмір.
  • Обрізати зображення за допомогою методу RasterImage.crop().
  • Збережіть обрізане зображення за допомогою методу RasterImage.save().

У наступному прикладі коду показано, як обрізати зображення за допомогою прямокутника в Java.

// Завантажте зображення.
try (RasterImage rasterImage = (RasterImage) Image.load("image.jpg")) {
	// Перед обрізанням зображення слід кешувати для кращої продуктивності.
	if (!rasterImage.isCached()) {
		rasterImage.cacheData();
	}

	// Створіть екземпляр класу Rectangle потрібного розміру.
	Rectangle rectangle = new Rectangle(20, 20, 20, 20);
	
	// Обрізати зображення.
	rasterImage.crop(rectangle);

	// Зберегти обрізане зображення.
	rasterImage.save("cropped.jpg");
}

Обрізати зображення в Java з безкоштовною ліцензією

Ви можете отримати безкоштовну тимчасову ліцензію і обрізати зображення без обмежень оцінки.

Висновок

У цій статті ви дізналися, як обрізати зображення в Java. Ми продемонстрували кілька способів обрізати зображення за допомогою значень зсуву або прямокутника. Крім того, ви можете дізнатися більше про API обробки зображень Java за допомогою документації. Крім того, ви можете поділитися своїми запитами з нами через наш форум.

Дивись також