📜  在picturebox上绘制c#(1)

📅  最后修改于: 2023-12-03 15:37:37.101000             🧑  作者: Mango

在PictureBox上绘制C#

如果你是一位C#程序员,想要在应用程序中实现图形绘制,那么PictureBox是一个不错的选择。PictureBox是Windows Forms中的一个控件,允许你在应用程序窗体中显示一个图像。不仅如此,PictureBox还提供了一些方法来绘制各种图形对象。接下来,我们将通过一些示例来介绍如何在PictureBox上绘制C#。

1. 准备工作

首先,我们需要创建一个Windows Forms应用程序。打开Visual Studio,选择"新建项目",选择"Windows Forms应用程序",创建一个名为"DrawCSharp"的应用程序。

2. 绘制线条

我们首先从绘制线条开始。在Form1.cs中,加入以下代码来绘制一个线条:

private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
    Pen pen = new Pen(Color.Black, 3);
    e.Graphics.DrawLine(pen, new Point(50, 50), new Point(200, 200));
}

在PictureBox的Paint事件中,实例化一个Pen对象用来设置线条宽度和颜色。然后,使用Graphics对象的DrawLine方法在PictureBox上绘制一条直线。

3. 绘制矩形

接下来,让我们试着以同样的方式绘制一个矩形。在Form1.cs中,加入以下代码:

private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
    Pen pen = new Pen(Color.Black, 3);
    e.Graphics.DrawLine(pen, new Point(50, 50), new Point(200, 200));
    e.Graphics.DrawRectangle(pen, new Rectangle(100, 100, 100, 100));
}

这个代码与之前绘制直线的代码几乎相同,只有一行额外的代码:调用Graphics对象的DrawRectangle方法,传递一个矩形。

4. 绘制椭圆

让我们再来尝试一下绘制椭圆。在Form1.cs中,加入以下代码:

private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
    Pen pen = new Pen(Color.Black, 3);
    e.Graphics.DrawLine(pen, new Point(50, 50), new Point(200, 200));
    e.Graphics.DrawRectangle(pen, new Rectangle(100, 100, 100, 100));
    e.Graphics.DrawEllipse(pen, new Rectangle(250, 50, 100, 200));
}

这个代码和之前的代码几乎相同,只有一行额外的代码:调用Graphics对象的DrawEllipse方法,传递一个椭圆形状的矩形。

5. 绘制多边形

现在,我们来绘制一个多边形。在Form1.cs中,加入以下代码:

private void pictureBox1_Paint(object sender, PaintEventArgs e)
{
    Pen pen = new Pen(Color.Black, 3);
    e.Graphics.DrawLine(pen, new Point(50, 50), new Point(200, 200));
    e.Graphics.DrawRectangle(pen, new Rectangle(100, 100, 100, 100));
    e.Graphics.DrawEllipse(pen, new Rectangle(250, 50, 100, 200));
  
    Point[] points = new Point[] { 
        new Point(400, 50), 
        new Point(450, 100), 
        new Point(400, 150), 
        new Point(350, 100), 
    };
    e.Graphics.DrawPolygon(pen, points);
}

这个代码和之前的代码几乎相同,只有一行额外的代码:调用Graphics对象的DrawPolygon方法,传递多个点来构造多边形。

6. 结论

通过以上几个例子,我们可以使用PictureBox在C#中实现多种图形绘制。使用相同的方式,你还可以绘制曲线、圆弧等更为复杂的图形。开始绘制吧!