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, 너비 및 높이 매개 변수는 래스터화할 고정 페이지의 사각형 영역을 지정합니다. 네 개의 매개 변수 값은 모두 픽셀 단위로 지정됩니다. 매개 변수 x 와 y 는 사각형 영역의 왼쪽 위 모서리 좌표입니다. 좌표 원점(0, 0)에서 픽셀 변위로 지정됩니다. 매개 변수 너비 와 높이는 사각형 영역의 차원입니다.
예를 들어 wXPS 및 hXPS 가 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, 너비 및 높이 매개 변수로 정의된 사각형이 고정 페이지의 경계를 넘어 확장될 수도 있습니다. 메서드는 x 및 y 에 대해 양수 또는 음수 값을 허용하고 너비 및 높이 에 대해 0이 아닌 양수 값을 허용합니다. 이러한 매개 변수로 지정된 사각형은 래스터화 작업에 대한 클리핑 영역을 정의합니다. 사각형이 고정 페이지의 경계를 넘어 확장되면 클리핑 영역도 이러한 경계를 넘어 확장됩니다.
메서드가 실패하고 비트맵 이 NULL 이 아닌 경우 메서드는 *bitmapNULL = 을 설정합니다.
RasterizeRect 메서드를 호출하는 코드 예제는 WDK의 XPSRasFilter 샘플을 참조하세요. 이 샘플은 WDK 설치의 Src\Print\Xpsrasfilter 폴더에 있습니다.
요구 사항
| 지원되는 최소 클라이언트 | Windows 7 이상 버전의 Windows 운영 체제에서 사용할 수 있습니다. |
| 대상 플랫폼 | 데스크톱 |
| 헤더 | xpsrassvc.h |
참고 항목
IXpsRasterizationFactory::CreateRasterizer
피드백
다음에 대한 사용자 의견 제출 및 보기