다음을 통해 공유


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)에서 픽셀 변위로 지정됩니다. 매개 변수 너비높이는 사각형 영역의 차원입니다.

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

xyhDPI너비wDPIheighthDPI

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

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

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

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

요구 사항

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

추가 정보

IWICBitmap

IXpsRasterizationFactory::CreateRasterizer

IXpsRasterizer

IXpsRasterizer::SetMinimalLineWidth

IXpsRasterizerNotificationCallback