Cortar imagens em Java

Nas postagens anteriores do blog, mostramos como implementar vários recursos de edição de imagens, como redimensionar, inverter e girar imagens. Junto com esses recursos, o recorte de imagem é imensamente usado para aparar as áreas indesejadas nas imagens. Além disso, você corta uma imagem para focar em um objeto específico no quadro. Neste artigo, você aprenderá como cortar imagens programaticamente em Java. Vamos demonstrar como cortar uma imagem usando valores de deslocamento ou com um retângulo.

API Java para cortar imagens - download gratuito

Aspose.Imaging for Java é uma incrível API de edição de imagens que fornece uma ampla variedade de recursos para manipular imagens. Além disso, ele suporta uma variedade de formatos de imagem raster e vetorial. Usaremos essa API para recortar as imagens de nosso aplicativo Java. Você pode baixar a API ou instalá-la usando as seguintes configurações do 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>

Cortar imagens em Java

Existem duas maneiras de cortar uma imagem raster: valores de deslocamento e retângulo. No primeiro método, precisamos fornecer valores de deslocamento para a esquerda, direita, superior e inferior para cortar uma imagem. Já no segundo método, definimos um retângulo para recortar uma determinada área de uma imagem.

Vamos dar uma olhada em cada um dos métodos mencionados acima para cortar imagens em Java.

Cortar imagens com valores de deslocamento em Java

A seguir estão as etapas para cortar uma imagem usando valores de deslocamento em Java.

  • Primeiro, carregue a imagem em um objeto RasterImage usando o método Image.load().
  • Cache a imagem se não for.
  • Defina os valores de deslocamento esquerdo, direito, superior e inferior.
  • Corte a imagem usando o método RasterImage.crop().
  • Salve a imagem cortada usando o método RasterImage.save().

O exemplo de código a seguir mostra como cortar uma imagem em Java.

// Carregar uma imagem.
try (RasterImage rasterImage = (RasterImage) Image.load("image.jpg")) {
	// Antes de cortar, a imagem deve ser armazenada em cache para melhor desempenho.
	if (!rasterImage.isCached()) {
		rasterImage.cacheData();
	}

	// Defina valores de deslocamento para todos os quatro lados.
	int leftShift = 10;
	int rightShift = 10;
	int topShift = 10;
	int bottomShift = 10;

	// Com base nos valores de deslocamento, aplique o corte na imagem. O método de corte mudará
	// a imagem se limita ao centro da imagem e salva os resultados no disco.
	rasterImage.crop(leftShift, rightShift, topShift, bottomShift);

	// Salve a imagem cortada.
	rasterImage.save("cropped.jpg");
}

A seguir está a imagem de entrada que usamos para cortar.

cortar imagem em Java

Abaixo está a imagem recortada resultante.

corte de imagem em Java

Corte de imagem Java usando retângulo

Você também pode definir um retângulo para cortar a área desejada de uma imagem. As etapas a seguir demonstram o corte de imagem usando um retângulo em Java.

O exemplo de código a seguir mostra como realizar o corte de imagem com um retângulo em Java.

// Carregar uma imagem.
try (RasterImage rasterImage = (RasterImage) Image.load("image.jpg")) {
	// Antes de cortar, a imagem deve ser armazenada em cache para melhor desempenho.
	if (!rasterImage.isCached()) {
		rasterImage.cacheData();
	}

	// Crie uma instância da classe Rectangle com o tamanho desejado.
	Rectangle rectangle = new Rectangle(20, 20, 20, 20);
	
	// Cortar imagem.
	rasterImage.crop(rectangle);

	// Salve a imagem cortada.
	rasterImage.save("cropped.jpg");
}

API de corte de imagens para Java - Obtenha uma licença gratuita

Você pode obter uma licença temporária gratuita e recortar imagens sem limitações de avaliação.

Conclusão

Neste artigo, você aprendeu como cortar imagens em Java. Demonstramos algumas maneiras de cortar uma imagem usando valores de deslocamento ou um retângulo. Além disso, você pode explorar mais sobre a API de processamento de imagem Java usando documentação. Além disso, você pode compartilhar suas dúvidas conosco através do nosso fórum.

Veja também