Win32 API 日本語リファレンス
ホームStorage.Xps › IXpsOMImageBrush

IXpsOMImageBrush

COM
IID3df0b466-d382-49ef-8550-dd94c80242e4継承元IXpsOMTileBrush自前メソッド開始 vtbl18

公式ドキュメント

ラスター イメージをソースとして使用するブラシです。

解説(Remarks)

このブラシが使用するイメージは、そのイメージの解像度によって指定される座標空間で定義されます。イメージの種類は JPEG、PNG、TIFF 6.0、または HD Photo である必要があります。

次のコード例は、このインターフェイスのインスタンスを作成する方法を示しています。


IXpsOMImageBrush            *newInterface;
// The following values are defined outside of 
// this example.
//  IXpsOMImageResource     *image;
//  XPS_RECT                viewBox;
//  XPS_RECT                viewPort;

// Note the implicit requirement that CoInitializeEx 
//  has previously been called from this thread.

hr = CoCreateInstance(
    __uuidof(XpsOMObjectFactory),
    NULL,
    CLSCTX_INPROC_SERVER,
    _uuidof(IXpsOMObjectFactory),
    reinterpret_cast<LPVOID*>(&xpsFactory)
    );

if (SUCCEEDED(hr))
{
    hr = xpsFactory->CreateImageBrush (
        image,
        &viewBox,
        &viewPort,
        &newInterface);

    if (SUCCEEDED(hr))
    {
        // use newInterface

        newInterface->Release();
    }
    xpsFactory->Release();
}
else
{
    // evaluate HRESULT error returned in hr
}

メソッド 5

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 18 HRESULT GetImageResource(IXpsOMImageResource** imageResource)

ブラシのソースとして使用するイメージ リソースを格納する IXpsOMImageResource インターフェイスへのポインターを取得します。

imageResourceIXpsOMImageResource**outブラシのソースとして使用するイメージ リソースを格納する IXpsOMImageResource インターフェイスへのポインターです。

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS Document Errors を参照してください。

リターン コード 説明
S_OK
メソッドは成功しました。
E_POINTER
imageResourceNULL です。

解説(Remarks)

リソースを XPS OM に読み込んで解析した後、このメソッドは別のリソースに関するエラーを返す場合があります。これは、リソースの読み込み時にすべてのリレーションシップが解析されるためです。

vtbl 19 HRESULT SetImageResource(IXpsOMImageResource* imageResource)

ブラシのソースとして使用するイメージ リソースを格納する IXpsOMImageResource インターフェイスへのポインターを設定します。

imageResourceIXpsOMImageResource*inブラシのソースとして使用するイメージ リソースです。このパラメーターに NULL ポインターを指定することはできません。

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS Document Errors を参照してください。

リターン コード 説明
S_OK
メソッドは成功しました。
E_POINTER
imageResourceNULL です。
XPS_E_NO_CUSTOM_OBJECTS
imageResource が、認識されるインターフェイス実装を指していません。XPS ドキュメント API インターフェイスの独自実装はサポートされていません。

解説(Remarks)

イメージ リソースの種類は JPEG、PNG、TIFF 6.0、または HD Photo である必要があります。

vtbl 20 HRESULT GetColorProfileResource(IXpsOMColorProfileResource** colorProfileResource)

イメージに関連付けられたカラー プロファイル リソースを格納する IXpsOMColorProfileResource インターフェイスへのポインターを取得します。

colorProfileResourceIXpsOMColorProfileResource**outイメージに関連付けられたカラー プロファイル リソースを格納する IXpsOMColorProfileResource インターフェイスへのポインターです。カラー プロファイル リソースが設定されていない場合は、NULL ポインターが返されます。

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS Document Errors を参照してください。

リターン コード 説明
S_OK
メソッドは成功しました。
E_POINTER
colorProfileResourceNULL です。

解説(Remarks)

リソースを XPS OM に読み込んで解析した後、このメソッドは別のリソースに関するエラーを返す場合があります。これは、リソースの読み込み時にすべてのリレーションシップが解析されるためです。

vtbl 21 HRESULT SetColorProfileResource(IXpsOMColorProfileResource* colorProfileResource)

イメージに関連付けられたカラー プロファイル リソースを格納する IXpsOMColorProfileResource インターフェイスへのポインターを設定します。

colorProfileResourceIXpsOMColorProfileResource*inイメージに関連付けるカラー プロファイル リソースです。NULL ポインターを指定すると、以前に設定されたカラー プロファイル リソースが解放されます。

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS Document Errors を参照してください。

リターン コード 説明
S_OK
メソッドは成功しました。
XPS_E_NO_CUSTOM_OBJECTS
colorProfileResource が、認識されるインターフェイス実装を指していません。XPS ドキュメント API インターフェイスの独自実装はサポートされていません。
vtbl 22 HRESULT Clone(IXpsOMImageBrush** imageBrush)

インターフェイスのディープ コピーを作成します。(IXpsOMImageBrush.Clone)

imageBrushIXpsOMImageBrush**outインターフェイスのコピーへのポインターです。

戻り値

このメソッドは HRESULT を返します。指定できる値には次の表に示すものが含まれますが、これらに限定されません。この表に記載されていない XPS ドキュメント API の戻り値については、XPS Document Errors を参照してください。

リターン コード 説明
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
この操作を実行するのに十分なメモリがありません。
E_POINTER
imageBrushNULL です。

解説(Remarks)

このメソッドは、コピー内のリソース ポインターを更新しません。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

#define global IID_IXpsOMImageBrush "{3DF0B466-D382-49EF-8550-DD94C80242E4}"
#usecom global IXpsOMImageBrush IID_IXpsOMImageBrush "{}"
#comfunc global IXpsOMImageBrush_GetImageResource         18 sptr
#comfunc global IXpsOMImageBrush_SetImageResource         19 sptr
#comfunc global IXpsOMImageBrush_GetColorProfileResource  20 sptr
#comfunc global IXpsOMImageBrush_SetColorProfileResource  21 sptr
#comfunc global IXpsOMImageBrush_Clone                    22 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。