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 オペレーティング システムではサポートされていません。
成功した場合、このメソッドは Windows イメージング コンポーネント (WIC) ビットマップ オブジェクトを作成し、オブジェクトの IWICBitmap インターフェイスへのカウントされた参照を呼び出し元に渡します。 オブジェクトが不要になった場合、呼び出し元はオブジェクトの IWICBitmap インターフェイスで Release メソッドを呼び出してオブジェクトを解放します。
このメソッドによって作成される WIC ビットマップには、8 ビットの赤、緑、青のチャネルを含む 32 ビットピクセル形式があり、標準の RGB (sRGB) 色空間を使用します。 さらに、この形式には 8 ビットのアルファ コンポーネントが含まれています。 各ピクセル値の色成分にはアルファ成分が事前に乗算されます。 ピクセル形式は、ヘッダー ファイル Wincodec.h で定義されている GUID 値 GUID_WICPixelFormat32bppPBGRAによって指定されます。 この形式の詳細については、「 ネイティブ ピクセル形式の概要」を参照してください。
IXpsRasterizationFactory::CreateRasterizer メソッドの DPI パラメーターは、ビットマップをレンダリングする解像度を 1 インチあたりのドット数で指定します。 XPS 仕様で説明されているように、XPS ドキュメント内の固定ページの幅と高さは 1/96 インチ単位で指定されます。 固定ページ全体を表すために必要なビットマップの寸法 (ピクセル単位) を決定するには、幅と高さを DPI/96 で乗算します。
固定ページを一連の水平または垂直バンドとしてラスター化する必要があるプリンターに対応するために、パラメーター x、 y、 幅、 および高さは 、ラスター化する固定ページの四角形領域を指定します。 4 つのパラメーター値はすべてピクセル単位で指定されます。 パラメーター x と y は、四角形領域の左上隅の座標です。これらは座標の原点 (0,0) からのピクセル変位として指定されます。 パラメーターの 幅 と 高さは 、四角形領域の寸法です。
たとえば、wXPS と hXPS が 1/96 インチ単位の XPS 固定ページの幅と高さである場合、パラメーター x、y、幅、および高さが次の値に設定されている場合、RasterizeRect は固定ページの下半分のビットマップ表現を生成します。
xyhDPI幅wDPI高さhDPI
notificationCallback パラメーターが NULL 以外の場合、RasterizeRect メソッドは通知オブジェクトの IXpsRasterizerNotificationCallback インターフェイスへのカウントされた参照を受け取ります。 これは、IXpsRasterizerNotificationCallback::Continue メソッドを呼び出す前に、 インターフェイスで AddRef メソッドを呼び出すことによって行われます。 RasterizeRect が戻る前に、*IXpsRasterizerNotificationCallback インターフェイスで Release メソッドを呼び出して通知オブジェクトを解放します。
XPS 仕様で説明されているように、省略可能な BleedBox 属性では、固定ページの境界の外側に広がる裁ち落としボックスを指定できます。 裁ち落としボックスに対応するために、パラメーター x、 y、 幅、 および高さで 定義された四角形は、固定ページの境界を越えて拡張することもできます。 メソッドは、 x と y に対して正または負の値を受け取り、 幅 と 高さに対して正の 0 以外の値を受け取ります。 これらのパラメーターで指定された四角形は、ラスター化操作のクリッピング領域を定義します。 四角形が固定ページの境界を超えて拡張される場合、クリッピング領域もこれらの境界を超えて拡張されます。
メソッドが失敗し、 bitmap が NULL 以外の場合、メソッドは *bitmap = NULL を設定します。
RasterizeRect メソッドを呼び出すコード例については、WDK の XPSRasFilter サンプルを参照してください。 このサンプルは、WDK インストールの Src\Print\Xpsrasfilter フォルダーにあります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 以降のバージョンの Windows オペレーティング システムで使用できます。 |
対象プラットフォーム | デスクトップ |
Header | xpsrassvc.h |
こちらもご覧ください
IXpsRasterizationFactory::CreateRasterizer