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 で乗算します。

固定ページを一連の水平または垂直バンドとしてラスター化する必要があるプリンターに対応するために、パラメーター xyおよび高さは 、ラスター化する固定ページの四角形領域を指定します。 4 つのパラメーター値はすべてピクセル単位で指定されます。 パラメーター xy は、四角形領域の左上隅の座標です。これらは座標の原点 (0,0) からのピクセル変位として指定されます。 パラメーターの 高さは 、四角形領域の寸法です。

たとえば、wXPS と hXPS が 1/96 インチ単位の XPS 固定ページの幅と高さである場合、パラメーター xyおよび高さが次の値に設定されている場合、RasterizeRect は固定ページの下半分のビットマップ表現を生成します。

xyhDPIwDPI高さhDPI

notificationCallback パラメーターが NULL 以外の場合、RasterizeRect メソッドは通知オブジェクトの IXpsRasterizerNotificationCallback インターフェイスへのカウントされた参照を受け取ります。 これは、IXpsRasterizerNotificationCallback::Continue メソッドを呼び出す前に、 インターフェイスで AddRef メソッドを呼び出すことによって行われます。 RasterizeRect が戻る前に、*IXpsRasterizerNotificationCallback インターフェイスで Release メソッドを呼び出して通知オブジェクトを解放します。

XPS 仕様で説明されているように、省略可能な BleedBox 属性では、固定ページの境界の外側に広がる裁ち落としボックスを指定できます。 裁ち落としボックスに対応するために、パラメーター xyおよび高さで 定義された四角形は、固定ページの境界を越えて拡張することもできます。 メソッドは、 xy に対して正または負の値を受け取り、 高さに対して正の 0 以外の値を受け取ります。 これらのパラメーターで指定された四角形は、ラスター化操作のクリッピング領域を定義します。 四角形が固定ページの境界を超えて拡張される場合、クリッピング領域もこれらの境界を超えて拡張されます。

メソッドが失敗し、 bitmapNULL 以外の場合、メソッドは *bitmap = NULL を設定します。

RasterizeRect メソッドを呼び出すコード例については、WDK の XPSRasFilter サンプルを参照してください。 このサンプルは、WDK インストールの Src\Print\Xpsrasfilter フォルダーにあります。

要件

要件
サポートされている最小のクライアント Windows 7 以降のバージョンの Windows オペレーティング システムで使用できます。
対象プラットフォーム デスクトップ
Header xpsrassvc.h

こちらもご覧ください

IWICBitmap

IXpsRasterizationFactory::CreateRasterizer

IXpsRasterizer

IXpsRasterizer::SetMinimalLineWidth

IXpsRasterizerNotificationCallback