学习图像处理知识---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); //涂色
2.用于截屏的用法,在专案中可以用于监视其他软体界面及报警作用:
g1.Clear(Color.White);//清理原来的图像
g1.CopyFromScreen(new Point(0, 0), new Point(0, 0), new Size(1000, 600));//截图
pictureBox2.Image = scr;
实际中主要编辑红色起点和尺寸大小截图
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);
g1.DrawImageUnscaled(d1, new Rectangle(50, 150, 250, 250));//后面的尺寸会没有用
g1.DrawImage(d1, new Rectangle(50, 50, 250, 250));