다음을 통해 공유


축 맞춤 클립 사각형을 활용하여 클리핑하는 방법

이미지를 클리핑하기 위해 축 맞춤 클립 사각형을 활용하는 방법을 이 토픽에서 설명합니다. 이 방법은 사각형 클립만 생성하며, 이는 콘텐츠 범위가 사각형의 축에 맞춰지기 때문입니다. 콘텐츠 경계가 있는 레이어를 사용하는 것보다 이 접근 방식이 더욱 효율적입니다. 자세한 내용은 레이어 개요를 참조하세요.

축 맞춤 클립 사각형을 활용하여 클리핑하기

  1. 원본 이미지를 리소스에서 로드합니다. 비트맵을 로드하는 방법에 대한 자세한 내용은 리소스에서 비트맵을 로드하는 방법을 참조하세요.

  2. 사각형을 지정하기 위해 ID2D1RenderTarget::PushAxisAlignedClip을 호출합니다. 렌더링 명령은 사각형으로 잘립니다.

  3. 원본 이미지를 그립니다.

  4. 렌더링 대상에서 마지막 축 맞춤 클립을 제거하기 위해 ID2D1RenderTarget::PopAxisAlignedClip을 호출합니다.

예를 들어, 다음과 같은 그림에서 왼쪽의 원래 비트맵은 200*130픽셀입니다. 오른쪽의 비트맵은 축 맞춤 클립 사각형으로 잘린 원래의 비트맵입니다. 차원은 (20, 20)에서 (100, 100)입니다.

비트맵이 잘리기 이전 및 이후의 금붕어 비트맵 그림

사각형 구조를 클리핑 영역으로 만들어 잘린 이미지를 만듭니다. 클리핑 영역으로 PushAxisAlignedClip을 호출하고 원본 이미지를 그립니다. 렌더링 대상에서 클립을 제거하기 위해 PopAxisAlignedClip을 호출합니다. 다음 코드에서는 이 작업을 수행하는 방법을 보여 줍니다.

pRT->PushAxisAlignedClip(
    D2D1::RectF(20, 20, 100, 100),
    D2D1_ANTIALIAS_MODE_PER_PRIMITIVE
    );

pRT->FillRectangle(D2D1::RectF(0, 0, 200, 133), m_pOriginalBitmapBrush);
pRT->PopAxisAlignedClip();

Direct2D 참조