学习图像处理知识---c#Bitmap类和Graphics类(二)

鉴于上篇理论描写,此篇用于应用其主要函数。

1.绘图函数用很多:  大多采用点到线到外形绘制

             Graphics g1 = Graphics.FromImage(scr);
            Point[] poita = new Point[] { new Point(20, 20), new Point(60, 30),  new Point(90, 130), new Point(30, 130) };
            g1.DrawPolygon(new Pen(Color.Red,3), poita);   //画图

            g1.FillPolygon(Brushes.Green, poita);  //涂色

学习图像处理知识---c#Bitmap类和Graphics类(二)

2.用于截屏的用法,在专案中可以用于监视其他软体界面及报警作用:

g1.Clear(Color.White);//清理原来的图像
            g1.CopyFromScreen(new Point(0, 0), new Point(0, 0), new Size(1000, 600));//截图

            pictureBox2.Image = scr;

实际中主要编辑红色起点和尺寸大小截图

学习图像处理知识---c#Bitmap类和Graphics类(二)

3.图片合成

  g1.Clear(Color.White);//清理原来的图像
          // g1.CopyFromScreen(new Point(500, 200), new Point(0, 0), new Size(1000, 660));//截图
       g1.DrawImage(d1, new Rectangle(50,50,250,250));
            g1.DrawImage(d1, new Rectangle(300, 50, 250, 250));
            g1.DrawImage(d1, new Rectangle(550, 50, 250, 250));
            g1.DrawImage(d1, new Rectangle(50, 300, 250, 250));
            g1.DrawImage(d1, new Rectangle(300, 300, 250, 250));

            g1.DrawImage(d1, new Rectangle(550, 300, 250, 250));

定义顶点如图红色

 Point[] poita = new Point[] { new Point(20, 20), new Point(300, 20),  new Point(20, 200) };  

            Point[] poita1 = new Point[] { new Point(20, 200), new Point(300, 250), new Point(20, 400) };

 g1.DrawImage(d1, poita);
            g1.DrawImage(d1, poita1);

            pictureBox2.Image = scr

学习图像处理知识---c#Bitmap类和Graphics类(二)学习图像处理知识---c#Bitmap类和Graphics类(二)

                    g1.DrawImageUnscaled(d1, new Rectangle(50, 150, 250, 250));//后面的尺寸会没有用

            g1.DrawImage(d1, new Rectangle(50, 50, 250, 250));

学习图像处理知识---c#Bitmap类和Graphics类(二)