每周一赞

C#图形类Graphics的几种方法

2023-07-31  本文已影响0人  大龙10

如果你想在C#窗体上进行绘画。通常会使用以下方法。

1、方法1

利用控件或窗体的paint事件中的painEventArgs

private void form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;//创建画板,
}

2、方法2

直接重载控件或窗体的OnPaint方法

protected override void OnPaint(PaintEventArgs e)
{
Graphics g = e.Graphics;
}

3、方法3

调用某控件的CreateGraphics方法

Graphics g = this.CreateGraphics();

4、方法4

调用Graphics类的FromImage静态方法。
在需要更改已存在的图像时,通常会使用此方法

Image img = Image.FromFile("g1.jpg");//建立Image对象
Graphics g = Graphics.FromImage(img);//创建Graphics对象

5、实例

       public Bitmap Create(int[] arry)
        {
            //获得数组中最大值
            int max = 0;
            for (int i = 0; i < arry.Length; i++)
            {
                if (arry[i] > max)
                    max = arry[i];
            }
            Bitmap bitmap = new Bitmap(arry.Length*2+1, max + 10);
            Graphics g = Graphics.FromImage(bitmap);//创建Graphics对象
            g.Clear(Color.White);
            Pen curPen = new Pen(Brushes.Red, 1);

            // g.DrawLine(curPen, 10, 0, 10, 30); //划线 ; 水平坐标形同 10,0,10,30;  y坐标不同

            for (int i = 0; i < arry.Length; i++)
            {
                g.DrawLine(curPen, i*2, arry[i], i*2, 0); //划线 ; 水平坐标形同 10,0,10,30;  y坐标不同
            }

            return bitmap;
        }

        private void uiButton1_Click(object sender, EventArgs e)
        {
            int[] arry= { 0, 1,3,7,9,20,12,30,18,40,25,100,78,90,50,21};
            Bitmap mybitmap = Create(arry);
            picBoxShowDel.Image = mybitmap;
        }
运行结果

6、资料

enych的博客:
https://www.cnblogs.com/enych/p/10544592.html
上一篇下一篇

猜你喜欢

热点阅读