ホーム › Graphics.Imaging › IWICPlanarFormatConverter
IWICPlanarFormatConverter
COM公式ドキュメント
フォーマットコンバーターをプレーナーソースで初期化できるようにします。
メソッド 2
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
vtbl 8 HRESULT Initialize(IWICBitmapSource** ppPlanes, DWORD cPlanes, GUID* dstFormat, WICBitmapDitherType dither, IWICPalette* pIPalette, DOUBLE alphaThresholdPercent, WICBitmapPaletteType paletteTranslate)
フォーマットコンバーターをプレーナーソースで初期化し、インターリーブされた出力ピクセルフォーマットを指定します。
| ppPlanes | IWICBitmapSource** | in | 画像プレーンを表す IWICBitmapSource の配列。 |
| cPlanes | DWORD | in | planes パラメーターで指定されるコンポーネントプレーンの数。 |
| dstFormat | GUID* | in | 変換先のインターリーブされたピクセルフォーマット。 |
| dither | WICBitmapDitherType | in | 変換に使用する WICBitmapDitherType。 |
| pIPalette | IWICPalette* | in | 変換に使用するパレット。 |
| alphaThresholdPercent | DOUBLE | in | 変換に使用するアルファしきい値。 |
| paletteTranslate | WICBitmapPaletteType | in | 変換に使用するパレット変換の種類。 |
戻り値
型: HRESULT
このメソッドが成功した場合、S_OK を返します。それ以外の場合は、HRESULT エラーコードを返します。
vtbl 9 HRESULT CanConvert(GUID* pSrcPixelFormats, DWORD cSrcPlanes, GUID* dstPixelFormat, BOOL* pfCanConvert)
フォーマットコンバーターがあるフォーマットから別のフォーマットへ変換できるかどうかを問い合わせます。
| pSrcPixelFormats | GUID* | in | ソース画像プレーンを表す WIC ピクセルフォーマットの配列。 |
| cSrcPlanes | DWORD | in | pSrcFormats パラメーターで指定されるソースピクセルフォーマットの数。 |
| dstPixelFormat | GUID* | in | 変換先のインターリーブされたピクセルフォーマット。 |
| pfCanConvert | BOOL* | out | 変換がサポートされている場合は True。 |
戻り値
変換がサポートされていない場合、このメソッドは S_OK を返しますが、*pfCanConvert は FALSE に設定されます。
このメソッドが失敗した場合、出力パラメーター pfCanConvert は無効です。
解説(Remarks)
インターリーブされた入力ピクセルフォーマットを指定するには、pSrcPixelFormats に長さ 1 の配列を渡します。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_IWICPlanarFormatConverter "{BEBEE9CB-83B0-4DCC-8132-B0AAA55EAC96}" #usecom global IWICPlanarFormatConverter IID_IWICPlanarFormatConverter "{184132B8-32F8-4784-9131-DD7224B23438}" #comfunc global IWICPlanarFormatConverter_Initialize 8 sptr,int,var,int,sptr,double,int #comfunc global IWICPlanarFormatConverter_CanConvert 9 var,int,var,var ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IWICPlanarFormatConverter "{BEBEE9CB-83B0-4DCC-8132-B0AAA55EAC96}" #usecom global IWICPlanarFormatConverter IID_IWICPlanarFormatConverter "{184132B8-32F8-4784-9131-DD7224B23438}" #comfunc global IWICPlanarFormatConverter_Initialize 8 sptr,int,sptr,int,sptr,double,int #comfunc global IWICPlanarFormatConverter_CanConvert 9 sptr,int,sptr,sptr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。