0

PictureBoxにドットを描画する方法を見つけようとして、約12時間検索してきました.コード例を提供する多くのスレッドを見つけましたが、やりたいことができていないようです.

本質的に私がやろうとしていることはこれです:

PictureBox を含む Windows フォームがあります。PictureBox に画像はありませんが、BackColor を黒に設定しています。新しいビットマップ画像を作成してから、コードを実行して次のスタイルで白い点を作成しようとしています:

    ..........
    ..........
    ..........
    ..........

したがって、PictureBox でグリッド スタイルの Look を使用できます。しかし、私は失敗するたびに失敗したので、誰かがこれをどのように扱うかを理解するのを手伝ってくれたら幸いです。

私の最近の試みは、次のように ControlPaint.DrawGrid メソッドを使用することでした。

private void picBox_Display_Paint(object sender, PaintEventArgs e)
{
    Size size = new Size(35, 35);
    Rectangle rect = new Rectangle(0,0,picBox_Display.Width, picBox_Display.Height);
    ControlPaint.DrawGrid(Graphics.FromHwnd(picBox_Display.Handle), rect, size, Color.White);
}

上記のコードは、PictureBox Paint イベント メソッドにあります。メソッドの最後にブレークポイントがあるため、コードが実行されることはわかっていますが、何も起こりません。ControlPaint.DrawGrid がどのように機能するのか理解できません。何か他のものを追加する必要がありますか?

今日の初めに Bitmap.SetPixel メソッドを使用してみましたが、問題が発生し続け、他の方法を探し続けました。

どんな助けでも大歓迎です。ありがとう!

4

1 に答える 1

1

これにはe.Graphicsを使用する必要があります。また、この種のコードのデバッグは難しい場合があることにも注意してください。デバッグすると描画が無効になることが多く、再度描画する必要があるためです。最後のパラメータは、ペイントしているものに対する背景色であることが意図されているため、指定したものとは逆の色を描画しているように見えます。背景が黒の場合は、Color.Blackを渡す必要があります

ControlPaint.DrawGrid(e.Graphics, rect, size, Color.Black);
于 2012-09-24T03:47:48.693 に答える