Обрезать изображения в 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

Ниже приведены шаги для обрезки изображения с использованием значений сдвига в 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");
}

API обрезки изображений для Java — получите бесплатную лицензию

Вы можете получить бесплатную временную лицензию и обрезать изображения без ограничений на оценку.

Вывод

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

Смотрите также