美文网首页每周一赞
C#图形类Graphics的几种方法

C#图形类Graphics的几种方法

作者: 大龙10 | 来源:发表于2023-07-31 11:25 被阅读0次

    如果你想在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
    

    相关文章

      网友评论

        本文标题:C#图形类Graphics的几种方法

        本文链接:https://www.haomeiwen.com/subject/mmdepdtx.html