자바에서 이미지 자르기

이전 블로그 게시물에서 크기 조정, 뒤집기회전 이미지와 같은 다양한 이미지 편집 기능을 구현하는 방법을 보여 드렸습니다. 이러한 기능과 함께 이미지 자르기는 이미지에서 원하지 않는 영역을 트리밍하는 데 엄청나게 사용됩니다. 또한 프레임의 특정 개체에 초점을 맞추기 위해 이미지를 자릅니다. 이 기사에서는 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에서 시프트 값을 사용하여 이미지를 자르는 단계입니다.

  • 먼저 Image.load() 메서드를 사용하여 이미지를 RasterImage 객체에 로드합니다.
  • 그렇지 않은 경우 이미지를 캐시합니다.
  • 왼쪽, 오른쪽, 위쪽 및 아래쪽 이동 값을 정의합니다.
  • RasterImage.crop() 메서드를 사용하여 이미지를 자릅니다.
  • RasterImage.save() 메서드를 사용하여 자른 이미지를 저장합니다.

다음 코드 샘플은 Java에서 이미지를 자르는 방법을 보여줍니다.

// 이미지를 로드합니다.
try (RasterImage rasterImage = (RasterImage) Image.load("image.jpg")) {
	// 자르기 전에 더 나은 성능을 위해 이미지를 캐시해야 합니다.
	if (!rasterImage.isCached()) {
		rasterImage.cacheData();
	}

	// 4면 모두에 대한 이동 값을 정의합니다.
	int leftShift = 10;
	int rightShift = 10;
	int topShift = 10;
	int bottomShift = 10;

	// 시프트 값에 따라 이미지에 자르기를 적용합니다. 자르기 방법이 변경됩니다.
	// 이미지는 이미지의 중심을 향하고 결과를 디스크에 저장합니다.
	rasterImage.crop(leftShift, rightShift, topShift, bottomShift);

	// 자른 이미지를 저장합니다.
	rasterImage.save("cropped.jpg");
}

다음은 자르기에 사용한 입력 이미지입니다.

자바에서 이미지 자르기

아래는 자른 결과 이미지입니다.

자바에서 이미지 자르기

Rectangle을 사용한 Java 이미지 자르기

이미지의 원하는 영역을 자르기 위해 사각형을 정의할 수도 있습니다. 다음 단계는 Java에서 사각형을 사용하여 이미지를 자르는 방법을 보여줍니다.

  • 먼저 Image.load() 메서드를 사용하여 이미지를 RasterImage 객체에 로드합니다.
  • 그렇지 않은 경우 이미지를 캐시합니다.
  • 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용 Imaging Cropping API - 무료 라이선스 받기

평가 제한 없이 이미지를 자를 수 있고 무료 임시 라이센스를 얻습니다.

결론

이 기사에서는 Java에서 이미지를 자르는 방법을 배웠습니다. 시프트 값이나 사각형을 사용하여 이미지를 자르는 몇 가지 방법을 보여주었습니다. 또한 문서를 사용하여 Java 이미지 처리 API에 대해 자세히 알아볼 수 있습니다. 또한 포럼을 통해 질문을 공유할 수 있습니다.

또한보십시오