簡體   English   中英

在C#中的PictureBox上繪制點網格

[英]Drawing a Grid of Dots on a PictureBox in C#

我已經搜索了大約12個小時,試圖找到在PictureBox上繪制點的方法,我發現很多線程都提供了示例代碼,但我似乎還是無法完成我想要的事情。

基本上,我想做的是:

我有一個帶有PictureBox的Windows窗體,PictureBox中沒有任何圖像,但是我確實將BackColor設置為Black。 我試圖創建一個新的位圖圖像,然后運行代碼以以下樣式創建白點:

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

這樣就給了我網格風格。 但是,每次嘗試都失敗了,因此,如果有人可以幫助我了解如何使用它,我將不勝感激。

我最近的嘗試是使用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方法,但一直遇到問題,並一直在尋找其他方法來完成它。

任何幫助,將不勝感激。 謝謝!

您需要為此使用e.Graphics。 還請注意,調試此類代碼可能很困難,因為調試通常會使圖形無效,因此需要再次繪制。 最后一個參數是與您要繪畫的背景顏色相對的,因此看起來它與您指定的顏色相反。 如果背景是黑色,則需要輸入Color.Black

ControlPaint.DrawGrid(e.Graphics, rect, size, Color.Black);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM