GetEnhMetaFilePaletteEntries

GetEnhMetaFilePaletteEntries 関数は、指定拡張メタファイルから任意のパレットエントリを取得する。

GetEnhMetaFilePaletteEntries hemf, nNumEntries, lpPaletteEntries

hemf : [intptr] 拡張メタファイルのハンドル。
nNumEntries : [int] 任意のパレットから取得するエントリ数。
lpPaletteEntries : [var] パレットカラーを受け取る PALETTEENTRY 構造体の配列へのポインタ。配列は cEntries パラメータで指定されたエントリ数以上の構造体を含んでいなければならない。

(プラグイン / モジュール : gdi32.dll)

解説

GetEnhMetaFilePaletteEntries 関数は、指定拡張メタファイルから任意のパレットエントリを取得する。

[戻り値]
配列ポインタが NULL
で拡張メタファイルに任意のパレットが含まれている場合、戻り値はメタファイルのパレット内のエントリ数である。配列ポインタが有効で任意のパレットが含まれている場合、戻り値はコピーされたエントリ数である。メタファイルに任意のパレットが含まれていない場合、戻り値は
0 である。それ以外の場合は GDI_ERROR である。

[備考]
アプリケーションは、画像を作成してメタファイルに保存する前に CreatePalette および SetPaletteEntries
関数を呼び出すことで、拡張メタファイルに任意のパレットを格納できる。これにより、画像がさまざまなデバイスで表示されるときに一貫した色を得ることができる。拡張メタファイルに格納された画像を表示するアプリケーションは、GetEnhMetaFilePaletteEntries
関数を呼び出して任意のパレットの存在を確認できる。存在する場合、アプリケーションは再度この関数を呼び出してパレットエントリを取得し、CreatePalette
を使って論理パレットを作成し、SelectPalette でデバイスコンテキストに選択し、RealizePalette
で実体化する。論理パレットが実体化された後、PlayEnhMetaFile 関数を呼び出すと元の色で画像が表示される。

情報

プラグイン / モジュールgdi32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の gdi32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_gdi32_gen2.hs