フォーマットコンバータを初期化する。
IWICFormatConverter_Initialize this, pISource, dstFormat, dither, pIPalette, alphaThresholdPercent, paletteTranslate
this : [comobj] IWICFormatConverter インターフェースの COM オブジェクト変数 pISource : [comobj] 型: IWICBitmapSource* 変換する入力ビットマップ。 dstFormat : [var] 型: REFWICPixelFormatGUID 変換先のピクセルフォーマット GUID。 dither : [int] 型: WICBitmapDitherType 変換時に使用する WICBitmapDitherType。 pIPalette : [comobj] 型: IWICPalette* 変換時に使用するパレット。 alphaThresholdPercent : [double] 型: double 変換時に使用するアルファしきい値。 paletteTranslate : [int] 型: WICBitmapPaletteType 変換時に使用するパレット変換種別。
(プラグイン / モジュール : com_misc.dll)
フォーマットコンバータを初期化する。 [戻り値] 型: HRESULT このメソッドが成功した場合は S_OK を返す。それ以外の場合は HRESULT エラーコードを返す。 [備考] 事前定義のパレットがない場合は、まずパレットを作成する必要がある。InitializeFromBitmap を使ってパレットオブジェクトを作成し、それを他のパラメータと一緒に渡す。 dither、pIPalette、alphaThresholdPercent、paletteTranslate はビット深度を低減するフォーマットへ変換する際の色損失を緩和するために使用される。これらの設定が不要な変換では、次のパラメータ値を使用すべきである: dither は WICBitmapDitherTypeNone、pIPalette は NULL、alphaThresholdPercent は 0.0f、paletteTranslate は WICBitmapPaletteTypeCustom。 順序付きディザを使用する基本アルゴリズムでは、WICBitmapPaletteType 列挙体で定義された固定パレットを特定の順序で必要とする。多くの場合、出力に実際に提供されるパレットは順序が異なるか、実際の色に微妙な差異がある。これは Microsoft Windows のパレットを使う場合に当てはまり、Windows のバージョン間で僅かな違いがある。これに対応するため、フォーマットコンバータにパレットとパレット変換が与えられる。pIPalette は実際に使用される変換先パレットで、paletteTranslate は固定パレットである。変換が完了すると、最近傍色マッチングアルゴリズムを使って、固定パレットから pIPalette 内の実際の色へ色がマッピングされる。pIPalette 内の色が paletteTranslate の色に近くない場合、マッピングは望ましくない結果を生むことがある。WICBitmapDitherTypeOrdered4x4 は、8 ビットフォーマットから 5 または 6 ビットフォーマットへの変換において、色データを正確に変換する方法がないため有用である。WICBitmapDitherTypeErrorDiffusion は誤差拡散アルゴリズムを選択し、任意のパレットと併用できる。任意のパレットを与える場合は paletteTranslate に WICBitmapPaletteCustom を渡すべきである。誤差拡散は順序付きディザリングアルゴリズムよりも優れた結果を提供することが多く、特に IWICPalette 上の最適化されたパレット生成機能と組み合わせると効果的である。Portable Network Graphics (PNG) のようにアルファチャンネルを持つビットマップを 8bpp に変換する際、アルファチャンネルは通常無視される。元のビットマップで透明だったピクセルは、それぞれのフォーマットで透明と黒の両方がピクセル値 0 を持つため、最終出力では黒になる。8bpp のコンテンツの中にはアルファカラーを含むものがあり、たとえば Graphics Interchange Format (GIF) フォーマットでは単一のパレットエントリを透明色として使用できる。このようなコンテンツに対して alphaThresholdPercent はどの透明度パーセンテージを透明色にマッピングするかを指定する。アルファ値はピクセルの不透明度(透明度ではなく)に直接比例するため、alphaThresholdPercent はどの不透明度レベルを完全に透明な色にマッピングするかを示す。たとえば 9.8% は、アルファ値が 25 未満のピクセルが透明色にマッピングされることを意味する。値 100% は、完全に不透明でないすべてのピクセルを透明色にマッピングする。なおパレットには透明色が含まれているべきである。なければ「透明」色は 0 に最も近い色 (多くの場合は黒) になる。
| プラグイン / モジュール | com_misc.dll |
| バージョン | 1.0 |
| 作成日 | 2026/04/16 |
| 著作者 | IronHSP / CsWin32 bridge |
| URL | https://github.com/inovia/IronHSP |
| 備考 | Win32 API の com_misc.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。 |
| タイプ | 拡張命令 |
| グループ | Win32API |
| 対応環境 |
|
| hs ファイル | hsphelp\win32_com_misc_gen2.hs |