[Atelier Blue アトリエブルー]HomeプログラミングManaged DirectXDraw>文字を描く

文字を描く

図形が描けたら次はもちろん文字です。と言うわけで文字行ってみましょう。

DrawText

文字を描きます。そのためにはDrawTextを使います。が、その前に文字の色を設定する必要があります。使うプロパティはForeColorです。どっかで聞いた事のある名前のプロパティですね。そう、これは図形の前景色と同じプロパティなのです。偶然ですかね?

まあ、そんな事でMicrosoftさんを疑ってもしょうがないので適当な色に設定してさっさと進みます。

public void DrawText(
    int x,
    int y,
    string text,
    bool drawAtLastPosition
);

はい。これで文字が描けます。でも、最初三つの引数は何となく意味が分かりますが、最後のがよく分かりませんね。とりあえずfalseにしておくと目的の場所に文字が書けます。そうでないと・・・。まあ、ためしてみてください。

ソースコード

        private void timer__Tick(object sender, EventArgs e)
{
//非表示時と最小化時は描画しない。(下の2行が無いとエラー起こします)
if(!this.Visible)return;
if(this.WindowState == FormWindowState.Minimized)return;

//真っ黒に塗る
secondarySuface_.ColorFill(Color.Black);

//線の情報と塗り潰しの色を指定する。
secondarySuface_.ForeColor = Color.Yellow;

secondarySuface_.DrawText(100, 100, "文字を描くtrue", true);
secondarySuface_.DrawText(100, 100, "文字を描くfalse", false);


Rectangle rect =new Rectangle();

rect.Size =this.ClientSize;
rect.Location =this.PointToScreen(this.ClientRectangle.Location);
primarySurface_.Draw(rect,secondarySuface_,DrawFlags.Wait);

}

これで文字が描けました。次回はいよいよ全画面に挑戦です。でも、線が描いてあるだけの画面を全画面表示しても意味無かったり。


ページの一番上へ
前のページへ 一覧に戻る 次のページへ
初版2006-3-4
[Atelier Blue アトリエブルー]HomeプログラミングManaged DirectXDraw>文字を描く