Graphics::GetHalftonePalette メソッド (gdiplusgraphics.h)

Graphics::GetHalftonePalette メソッドは、Windows ハーフトーン パレットを取得します。

構文

HPALETTE GetHalftonePalette();

戻り値

型: 静的

このメソッドは、Windows ハーフトーン パレットにハンドルを返します。

解説

Graphics::GetHalftonePalette メソッドの目的は、ディスプレイで 1 ピクセルあたり 8 ビットを使用する場合に、GDI+ が高品質のハーフトーンを生成できるようにすることです。 ハーフトーン パレットを使用して画像を表示するには、次の手順に従います。

  1. Graphics::GetHalftonePalette を呼び出して、GDI+ ハーフトーン パレットを取得します。
  2. ハーフトーン パレットをデバイス コンテキストに選択します。
  3. RealizePalette 関数を呼び出してパレットを実現します。
  4. ハンドルからデバイス コンテキストへの Graphics オブジェクトを作成します。
  5. Graphics オブジェクトの Graphics::D rawImage メソッドを呼び出します。
パレットの使用が完了したら、必ず削除してください。 前の手順に従わない場合、8 ビット/ピクセル表示デバイスでは、既定の 16 色プロセスが使用され、結果として品質のハーフトーンが低下します。

次の例では、同じ画像を 2 回描画しています。 画像が 2 回目に描画される前に、コードはハーフトーン パレットを取得し、パレットをデバイス コンテキストに選択し、パレットを実現します。

VOID Example_GetHalftonePalette(HDC hdc)
{
   Image image(L"Mosaic.png");
   
   Graphics* graphics1 = new Graphics(hdc);
   graphics1->DrawImage(&image, 10, 10);
   delete graphics1;
   
   HPALETTE hPalette = Graphics::GetHalftonePalette();
   SelectPalette(hdc, hPalette, FALSE);
   RealizePalette(hdc);
   Graphics* graphics2 = new Graphics(hdc);
   graphics2->DrawImage(&image, 300, 10);
   delete graphics2;
   DeleteObject(hPalette);
}

要件

   
サポートされている最小のクライアント Windows XP、Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー gdiplusgraphics.h (Gdiplus.h を含む)
Library Gdiplus.lib
[DLL] Gdiplus.dll

関連項目

GetPalette

グラフィックス

RealizePalette

SetPalette