我寫過這段代碼,但是它不起作用。這不但不行,而且我嘗試繪製的方法都沒有奏效。我花了一個多小時或兩個小時試圖解決這個問題,但沒有成功。我試過簡單的程序,它所做的只是顯示一條小線,但無論我做什麼,它都不會工作:c在Winforms中繪圖
我在做什麼錯,或者是什麼原因導致了這種情況?
private void pictureBox1_MouseDown(object sender,
MouseEventArgs m,
EventArgs e,
PaintEventArgs q)
{
if (m.Button == System.Windows.Forms.MouseButtons.Left)
{
Point currpoint = System.Windows.Forms.Cursor.Position;
Point origin = new Point(0, 0);
decimal sizee = nud.Value;
int size = Convert.ToInt32(sizee);
Random randonGen = new Random();
Color randomColor = Color.FromArgb(randonGen.Next(255),
randonGen.Next(255),
randonGen.Next(255));
Pen selPen = new Pen(randomColor, size);
Graphics g = Graphics.FromImage(pictureBox1.Image);
g.DrawLine(selPen, 3, 3, 133, 133);
}
}
筆的寬度是多少?大小是以像素爲單位的,所以如果它是0,那麼你的線條就沒有厚度。也可以嘗試使用不變的顏色 - 先簡化代碼以證明其有效,然後再增加複雜性。 – dash
寬度默認爲5,並且有一個numericUpDown可以使用close更改 – user1464962