Recortar imágenes en Java

En las publicaciones de blog anteriores, le mostramos cómo implementar varias funciones de edición de imágenes, como cambiar el tamaño, voltear y rotar imágenes. Junto con estas características, el recorte de imágenes se usa inmensamente para recortar las áreas no deseadas en las imágenes. Además, recorta una imagen para enfocarla en un objeto particular en el marco. En este artículo, aprenderá cómo recortar imágenes mediante programación en Java. Demostraremos cómo recortar una imagen usando valores de desplazamiento o con un rectángulo.

API de Java para recortar imágenes - Descarga gratuita

Aspose.Imaging for Java es una increíble API de edición de imágenes que proporciona una amplia gama de funciones para manipular imágenes. Además, admite una variedad de formatos de imagen rasterizados y vectoriales. Usaremos esta API para recortar las imágenes desde nuestra aplicación Java. Puede descargar la API o instalarla usando las siguientes configuraciones de 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>

Recortar imágenes en Java

Hay dos formas de recortar una imagen ráster: valores de desplazamiento y rectángulo. En el primer método, debemos proporcionar valores de desplazamiento hacia la izquierda, hacia la derecha, hacia arriba y hacia abajo para recortar una imagen. Mientras que, en el segundo método, definimos un rectángulo para recortar un área determinada de una imagen.

Echemos un vistazo a cada uno de los métodos mencionados anteriormente para recortar imágenes en Java.

Recortar imágenes con valores de desplazamiento en Java

Los siguientes son los pasos para recortar una imagen usando valores de desplazamiento en Java.

  • Primero, cargue la imagen en un objeto RasterImage usando el método Image.load().
  • Guarde en caché la imagen si no lo está.
  • Defina los valores de desplazamiento a la izquierda, a la derecha, arriba y abajo.
  • Recorte la imagen usando el método RasterImage.crop().
  • Guarde la imagen recortada usando el método RasterImage.save().

El siguiente ejemplo de código muestra cómo recortar una imagen en Java.

// Carga una imagen.
try (RasterImage rasterImage = (RasterImage) Image.load("image.jpg")) {
	// Antes de recortar, la imagen debe almacenarse en caché para un mejor rendimiento.
	if (!rasterImage.isCached()) {
		rasterImage.cacheData();
	}

	// Defina valores de desplazamiento para los cuatro lados.
	int leftShift = 10;
	int rightShift = 10;
	int topShift = 10;
	int bottomShift = 10;

	// Según los valores de cambio, aplique el recorte en la imagen. El método de recorte cambiará
	// los límites de la imagen hacia el centro de la imagen y guarde los resultados en el disco.
	rasterImage.crop(leftShift, rightShift, topShift, bottomShift);

	// Guardar imagen recortada.
	rasterImage.save("cropped.jpg");
}

La siguiente es la imagen de entrada que usamos para recortar.

recortar imagen en Java

A continuación se muestra la imagen recortada resultante.

recorte de imagen en Java

Recorte de imágenes de Java usando Rectangle

También puede definir un rectángulo para recortar el área deseada de una imagen. Los siguientes pasos demuestran el recorte de imágenes usando un rectángulo en Java.

El siguiente ejemplo de código muestra cómo realizar el recorte de imágenes con un rectángulo en Java.

// Carga una imagen.
try (RasterImage rasterImage = (RasterImage) Image.load("image.jpg")) {
	// Antes de recortar, la imagen debe almacenarse en caché para un mejor rendimiento.
	if (!rasterImage.isCached()) {
		rasterImage.cacheData();
	}

	// Cree una instancia de la clase Rectangle con el tamaño deseado.
	Rectangle rectangle = new Rectangle(20, 20, 20, 20);
	
	// Delimitar imagen.
	rasterImage.crop(rectangle);

	// Guardar imagen recortada.
	rasterImage.save("cropped.jpg");
}

API de recorte de imágenes para Java: obtenga una licencia gratuita

Puede obtener una licencia temporal gratuita y recortar imágenes sin limitaciones de evaluación.

Conclusión

En este artículo, ha aprendido a recortar imágenes en Java. Hemos demostrado un par de formas de recortar una imagen usando valores de desplazamiento o un rectángulo. Además, puede explorar más sobre la API de procesamiento de imágenes de Java utilizando documentación. Además, puede compartir sus consultas con nosotros a través de nuestro foro.

Ver también