C#에서 이미지 자르기

이미지 편집은 요즘 매우 일반적이며 다양한 경우에 원하는 결과를 얻기 위해 이미지를 조작해야 합니다. 프로그래머로서 구축 중인 애플리케이션 내에서 이미지 편집 기능을 구현해야 하는 경우가 있을 수 있습니다. 최근에 프로그래밍 방식으로 이미지를 크기 조정, 회전뒤집기하는 방법을 다루었습니다. 오늘은 .NET 응용 프로그램에서 C#을 사용하여 이미지를 자르는 방법을 보여 드리겠습니다. 시프트 값을 사용하거나 사각형을 사용하여 이미지 자르기를 수행하는 방법에 대해 설명합니다.

이미지 자르기를 위한 C# API - 무료 다운로드

C#에서 이미지 자르기의 경우 .NET용 Aspose.Imaging을 사용합니다. 인기 있는 형식의 이미지를 원활하게 조작할 수 있는 기능이 풍부한 API입니다. API를 다운로드하거나 NuGet을 사용하여 .NET 애플리케이션에 설치할 수 있습니다.

PM> Install-Package Aspose.Imaging

C#에서 이미지 자르기

.NET용 Aspose.Imaging은 이미지를 자르는 두 가지 방법을 제공합니다. 첫 번째 방법에서는 왼쪽, 오른쪽, 위쪽 및 아래쪽 이동 값을 제공해야 합니다. 반면 두 번째 방법에서는 이미지의 특정 영역을 자르기 위해 사각형을 정의합니다.

다음 섹션에서는 위에서 언급한 두 가지 방법을 모두 사용하여 C#에서 이미지를 자르는 방법을 보여줍니다.

C#에서 Shift 값으로 이미지 자르기

다음은 C#에서 shift 값을 사용하여 이미지를 자르는 단계입니다.

  • 먼저 Image.Load() 메서드를 사용하여 이미지를 RasterImage 객체에 로드합니다.
  • 더 나은 성능을 위해 이미지를 캐시하십시오.
  • 왼쪽, 오른쪽, 위쪽 및 아래쪽 이동 값을 정의합니다.
  • 시프트 값을 RasterImage.Crop() 메서드에 전달하여 이미지를 자릅니다.
  • RasterImage.Save() 메서드를 사용하여 자른 이미지를 저장합니다.

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

// 자를 이미지를 불러옵니다.
using (RasterImage rasterImage = (RasterImage)Image.Load("image.png"))
{
    // 자르기 전에 더 나은 성능을 위해 이미지를 캐시해야 합니다.
    if (!rasterImage.IsCached)
    {
        rasterImage.CacheData();
    }

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

    // 시프트 값에 따라 이미지에 자르기를 적용합니다. 자르기 방법은 이미지 경계를 이미지 중심으로 이동합니다.
    rasterImage.Crop(leftShift, rightShift, topShift, bottomShift);

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

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

C#에서 이미지 자르기

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

C#에서 이미지 자르기

직사각형을 사용하여 C# 이미지 자르기

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

  • 먼저 Image.Load() 메서드를 사용하여 이미지를 RasterImage 객체에 로드합니다.
  • 그런 다음 이미지를 캐시합니다.
  • Rectangle 객체를 생성하고 원하는 크기로 초기화합니다.
  • Rectangle 객체를 RasterImage.Crop() 메서드에 전달하여 이미지를 자릅니다.
  • RasterImage.Save() 메서드를 사용하여 자른 이미지를 저장합니다.

다음 코드 샘플은 C#에서 사각형으로 이미지 자르기를 수행하는 방법을 보여줍니다.

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

    // 원하는 크기로 Rectangle 클래스의 인스턴스를 만들고 이미지를 자릅니다.
    Rectangle rectangle = new Rectangle(20, 20, 20, 20);             
    rasterImage.Crop(rectangle);

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

C#용 이미징 자르기 API - 무료 라이선스 받기

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

이미지 자르기 애플리케이션 구축

이 문서에서는 C#에서 이미지를 자르는 방법을 배웠습니다. 시프트 값을 사용하거나 직사각형을 사용하여 이미지를 자르는 몇 가지 방법을 시연했습니다. 이제 이미지 자르기 애플리케이션을 쉽게 구축하거나 기존 애플리케이션의 이미지 편집 기능을 향상시킬 수 있습니다. C# 이미지 편집 API에 대해 자세히 알아보려면 문서를 방문하세요. 또한 포럼을 통해 질문을 공유할 수 있습니다.

또한보십시오