老师说C#主要用于
1、winform开发
2、网络
3、驱动
在图形图像处理上用的比较少,不过书里有图形图像编程这一章节,为了系统的学完C#编程基础,以及为了能够更熟悉C#的特性,再加上今天晚上闲的没事,就把这一章再看了一遍。将今天晚上的知识整理了一下,通过一个函数将图形图像的知识串了起来。
GDI+是C#中用于绘图操作的一个接口,GDI+是GDI的后续版本,GDI+包含了大约60个类,50个枚举,8个结构,其中图形类Graphics是核心类。
要进行图像处理,必须由Graphics类创建Graphics对象,然后才能开始绘图。
private void Form1_Paint(object sender, PaintEventArgs e)
{
Graphics g = e.Graphics;
//HatchBrush brush = new HatchBrush(HatchStyle.Percent90, Color.White, Color.Red);
//g.FillEllipse(brush, new Rectangle(10, 10, 300, 100));
Pen p = new Pen(Color.Black);
g.DrawRectangle(p,new Rectangle(10,10,110,60));
g.TranslateTransform(50,50);
g.DrawRectangle(p, new Rectangle(10, 10, 110, 60));
g.Dispose();
}
函数功能:
该函数是在窗体进行绘制的时候执行的,这个函数在窗体上以坐标值为(10,10)的点作为左上角,画了一个宽度为110,长度为60的矩形。之后再将矩形向右下(我们直观上的)平移。注释的部分是画了一个椭圆并填充。
在GDI+中,坐标系的原点在左上角,向右的方向为x轴的正方向,向下的方向为y轴的正方向。所以在函数里 g.TranslateTransform(50,50);是向右下平移
pen对象用于绘制线条,pen对象的建立有两种方法:
Pen p=new Pen(Color.Black);
SolidBrush brush=new SolidBrush(Color.Blue);
Pen p=new Pen(Brush,5);
g.DrawRectangle(p,new Rectangle(10,10,110,60));
g是一个Graphics对象,p是一个Pen对象,new Rectangle(10,10,110,60)初始化了System.Drawing.Rectangle 类的一个实例。Rectangle有三个重载,分别是:
Graphics类提供了三种方法对图像进行全局变换,分别是:
g.FillEllipse(brush, new Rectangle(10, 10, 300, 100));
GDI+绘制的椭圆是将椭圆放在new Rectangle(10,10,300,100)的矩形中然后绘制出来。此处为画一个椭圆并且将椭圆进行了填充,如果仅仅绘制一个椭圆,则是如下代码:
g.DrawEllipse(p, new Rectangle(10, 10, 300, 100));