次の方法で共有


文字列の描画

トピック 「線の描画 」では、Windows GDI+ を使用して線を描画する Windows アプリケーションを記述する方法を示します。 文字列を描画するには、そのトピックに示されている OnPaint 関数を次の OnPaint 関数に置き換えます。

VOID OnPaint(HDC hdc)
{
   Graphics    graphics(hdc);
   SolidBrush  brush(Color(255, 0, 0, 255));
   FontFamily  fontFamily(L"Times New Roman");
   Font        font(&fontFamily, 24, FontStyleRegular, UnitPixel);
   PointF      pointF(10.0f, 20.0f);
   
   graphics.DrawString(L"Hello World!", -1, &font, pointF, &brush);
}

前のコードでは、複数の GDI+ オブジェクトを作成します。 Graphics オブジェクトは、実際の描画を行う DrawString メソッドを提供します。 SolidBrush オブジェクトは、文字列の色を指定します。

FontFamily コンストラクターは、フォント ファミリを識別する単一の文字列引数を受け取ります。 FontFamily オブジェクトのアドレスは、Font コンストラクターに渡される最初の引数です。 Font コンストラクターに渡される 2 番目の引数はフォント サイズを指定し、3 番目の引数はスタイルを指定します。 値 FontStyleRegular は、Gdiplusenums.h で宣言されている FontStyle 列挙体のメンバーです。 Font コンストラクターの最後の引数は、フォントのサイズ (この場合は 24) がピクセル単位で測定されることを示します。 UnitPixel 値は、Unit 列挙体のメンバーです。

DrawString メソッドに渡される最初の引数は、ワイド文字列のアドレスです。 2 番目の引数 –1 は、文字列が null で終了することを指定します。 (文字列が null で終わる場合、2 番目の引数は文字列内のワイド文字の数を指定する必要があります)。3 番目の引数は Font オブジェクトのアドレスです。 4 番目の引数は、文字列を描画する場所を指定する PointF オブジェクトへの参照です。 最後の引数は、文字列の色を指定する Brush オブジェクトのアドレスです。