IXpsRasterizer::RasterizeRect 메서드(xpsrassvc.h)

RasterizeRect 메서드는 XPS 고정 페이지의 축 맞춤 사각형 영역을 래스터화합니다.

구문

HRESULT RasterizeRect(
  [in]            INT                                x,
  [in]            INT                                y,
  [in]            INT                                width,
  [in]            INT                                height,
  [in, optional]  IXpsRasterizerNotificationCallback *notificationCallback,
  [out, optional] IWICBitmap                         **bitmap
);

매개 변수

[in] x

출력 비트맵의 왼쪽 가장자리에 있는 x 좌표(픽셀)입니다.

[in] y

출력 비트맵의 위쪽 가장자리에 있는 y 좌표(픽셀)입니다.

[in] width

출력 비트맵의 너비(픽셀)입니다.

[in] height

출력 비트맵의 높이(픽셀)입니다.

[in, optional] notificationCallback

호출자가 구현하는 알림 개체의 IXpsRasterizerNotificationCallback 인터페이스에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 호출자에게 알림 콜백이 필요하지 않은 경우 NULL 일 수 있습니다.

[out, optional] bitmap

메서드가 새로 만든 비트맵 개체의 IWICBitmap 인터페이스에 대한 포인터를 쓰는 위치에 대한 포인터입니다. 메서드가 실패하면 이 위치에 NULL 을 쓰고 오류 코드를 반환합니다.

반환 값

호출에 성공하면 RasterizeRect 가 S_OK 반환합니다. 그렇지 않으면 메서드가 오류 코드를 반환합니다. 가능한 오류 반환 값은 다음과 같습니다.

반환 코드 설명
E_POINTER 매개 변수 비트맵NULL 입니다.
E_INVALIDARG 매개 변수 너비 또는 높이 가 0보다 작거나 같습니다.

설명

이 메서드는 Windows 7 이상에서 지원됩니다. Windows 7 이전의 Windows 운영 체제 버전에서는 지원되지 않습니다.

성공하면 이 메서드는 WIC(Windows 이미징 구성 요소) 비트맵 개체를 만들고 호출자에게 개체의 IWICBitmap 인터페이스에 대한 계산된 참조를 전달합니다. 개체가 더 이상 필요하지 않은 경우 호출자는 개체의 IWICBitmap 인터페이스에서 Release 메서드를 호출하여 개체를 해제합니다.

이 메서드에서 만든 WIC 비트맵은 8비트 빨간색, 녹색 및 파란색 채널을 포함하고 표준 RGB(sRGB) 색 공간을 사용하는 32비트 픽셀 형식입니다. 또한 형식에는 8비트 알파 구성 요소가 포함됩니다. 각 픽셀 값의 색 구성 요소는 알파 구성 요소를 미리 곱합니다. 픽셀 형식은 헤더 파일 Wincodec.h에 정의된 GUID 값 GUID_WICPixelFormat32bppPBGRA 의해 지정됩니다. 이 형식에 대한 자세한 내용은 네이 티브 픽셀 형식 개요를 참조하세요.

IXpsRasterizationFactory::CreateRasterizer 메서드의 DPI 매개 변수는 비트맵을 렌더링할 해상도를 인치당 점으로 지정합니다. XPS 사양에 설명된 대로 XPS 문서에서 고정된 페이지의 너비와 높이는 1/96인치 단위로 지정됩니다. 전체 고정 페이지를 나타내는 데 필요한 비트맵의 차원(픽셀 단위)을 확인하려면 너비와 높이를 DPI/96으로 곱합니다.

고정 페이지가 일련의 가로 또는 세로 대역으로 래스터화되어야 하는 프린터를 수용하기 위해 x, y, 너비높이 매개 변수는 래스터화할 고정 페이지의 사각형 영역을 지정합니다. 네 개의 매개 변수 값은 모두 픽셀 단위로 지정됩니다. 매개 변수 xy 는 사각형 영역의 왼쪽 위 모서리 좌표입니다. 좌표 원점(0, 0)에서 픽셀 변위로 지정됩니다. 매개 변수 너비높이는 사각형 영역의 차원입니다.

예를 들어 wXPShXPS 가 XPS 고정 페이지의 너비와 높이가 1/96인치 단위인 경우 RasterizeRect 는 매개 변수 x, y, 너비높이 가 다음 값으로 설정된 경우 고정 페이지의 아래쪽 절반에 대한 비트맵 표현을 생성합니다.

X Y H DPI 너비 W DPI 높이 H DPI

notificationCallback 매개 변수가 NULL 이 아닌 경우 RasterizeRect 메서드는 알림 개체의 IXpsRasterizerNotificationCallback 인터페이스에 대해 계산된 참조를 사용합니다. IXpsRasterizerNotificationCallback::Continue 메서드를 호출하기 전에 인터페이스에서 AddRef 메서드를 호출하여 이 작업을 수행합니다. RasterizeRect 가 반환되기 전에 *IXpsRasterizerNotificationCallback 인터페이스에서 Release 메서드를 호출하여 알림 개체를 해제합니다.

XPS 사양에 설명된 대로 선택적 BleedBox 특성은 고정 페이지의 경계를 벗어나 확장되는 블리드 박스를 지정할 수 있습니다. 블리드 박스를 수용하기 위해 x, y, 너비높이 매개 변수로 정의된 사각형이 고정 페이지의 경계를 넘어 확장될 수도 있습니다. 메서드는 xy 에 대해 양수 또는 음수 값을 허용하고 너비높이 에 대해 0이 아닌 양수 값을 허용합니다. 이러한 매개 변수로 지정된 사각형은 래스터화 작업에 대한 클리핑 영역을 정의합니다. 사각형이 고정 페이지의 경계를 넘어 확장되면 클리핑 영역도 이러한 경계를 넘어 확장됩니다.

메서드가 실패하고 비트맵NULL 이 아닌 경우 메서드는 *bitmapNULL = 을 설정합니다.

RasterizeRect 메서드를 호출하는 코드 예제는 WDK의 XPSRasFilter 샘플을 참조하세요. 이 샘플은 WDK 설치의 Src\Print\Xpsrasfilter 폴더에 있습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 7 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다.
대상 플랫폼 데스크톱
헤더 xpsrassvc.h

참고 항목

IWICBitmap

IXpsRasterizationFactory::CreateRasterizer

IXpsRasterizer

IXpsRasterizer::SetMinimalLineWidth

IXpsRasterizerNotificationCallback