第6章-GDI-编程分析课件.ppt
《第6章-GDI-编程分析课件.ppt》由会员分享,可在线阅读,更多相关《第6章-GDI-编程分析课件.ppt(34页珍藏版)》请在三一办公上搜索。
1、第6章 GDI+编程,6.1 GDI+简介,6.2 绘图,6.3 颜色,6.4 文本输出,6.5 图像处理,6.1 GDI+简介,6.1.1 坐标系绘图是在一个逻辑坐标系中进行的,它是一个相对的坐标系,比如,可以是窗体坐标系,也可以是某个对象坐标系(如文本框、按钮等对象),无论是基于哪一种对象,坐标系总是以该对象的左上角为原点(0,0)。除了原点外,坐标系还包括横坐标(X轴)和纵坐标(Y轴),X值是指点与原点的水平距离,Y值是指点与原点的垂直距离,如图6.1所示。,6.1.2 像素,像素是光栅设备可以显示的最小单位。对单色设备来说,每个像素可以用一位(比特)表示,而对彩色设备,每个像素必须用多
2、个位表示,位数越多,所表示的颜色越丰富,表6.1列出了部分设备中每个像素的位数及颜色数:,6.1.3 Graphics类,1Paint事件在为窗体编写Paint 事件处理程序时,图形对象作为一个 PaintEventArgs类的实例提供。下面的代码引用 Paint 事件的 PaintEventArgs 中的 Graphics 对象:private void Form1_Paint(object sender,System.Windows.Forms.PaintEventArgs pe)/*声明图形对象并把它设置为PaintEventArgs事件提供的图形对象*/Graphics g=pe.Gr
3、aphics;2CreateGraphics方法使用控件或窗体的CreateGraphics()方法获取对Graphics对象的引用,该对象表示这个控件或窗体的绘图表面。例如:Graphics g;g=this.CreateGraphics();/把g设为一个图形对象,来表示控件或窗体的绘图平面,6.1.3 Graphics类,3Graphics.FromImage方法从Image类派生的任何对象创建图形对象,调用Graphics.FromImage()方法即可。例如:Bitmap myBitmap=new Bitmap(C:myPic.bmp);Graphics g=Graphics.Fro
4、mImage(myBitmap);在GDI+中,可使用“画笔”和“画刷”对象来呈现图形、文本和图像。画笔是Pen类的实例,可用于绘制线条和空心形状。画刷是从抽象类Brush类派生的任何类的实例,可用于填充形状或绘制文本。Color对象是表示特定颜色类的实例,画笔和画刷可使用构造函数来指定它所呈现图形的颜色。例如:Pen myPen=new Pen(Color.Red);/创建一个红色的画笔SolidBrush myBrush=new SolidBrush(Color.Blue);/创建一个深蓝色的画刷,6.1.3 Graphics类,Graphics类的常用属性和方法分别如表6.2和6.3所示
5、。,6.1.3 Graphics类,表6.3 Graphics类的常用方法,6.2 绘图,6.2.1 画笔画笔(Pen)用于绘制直线和曲线,无法继承此类,在System.Drawing命名空间中。画笔可用于绘制线条、曲线以及勾勒形状轮廓。下面的代码创建一支基本的黑色画笔:Pen myPen=new Pen(Color.Black);/创建一个默认宽度为1的黑画笔Pen myPen=new Pen(Color.Black,5);/创建一个宽度为5的黑画笔也可以通过已存在的画刷对象创建画笔。下面的代码创建基于已存在画刷(名为 myBrush)的画笔:Pen myPen=new Pen(myBrus
6、h);/创建一个画笔,与myBrush有相同的属性,并且默认宽度为1Pen myPen=new Pen(myBrush,5);/创建一个画笔,与myBrush有相同的属性,并且宽度为5,6.2.2 画刷,画刷是与Graphics对象一起使用来创建实心形状和呈现颜色与图案的对象。几种不同类型的画刷如表6.4所示。,6.2.2 画刷,【例6.1】设计WinForm应用程序分别使用笔和画笔画出以坐标(30,30)和(130,30)为起点的长为70,高为50的矩形。新建WinForm项目,在Form1的设计视图中将此窗体调整到适当的大小并将“Text”属性设为“画笔与画刷”。从工具箱中拖放2个Butt
7、on控件到窗体中,如图6.2布局控件。button1和button2的Text属性值分别设置为“画笔”和“画刷”。分别双击“画笔”和“画刷”按钮,其事件代码如下所示:private void button1_Click(object sender,EventArgs e)Pen myPen=new Pen(Color.Black);/定义颜色为黑色的画笔 Graphics g=this.CreateGraphics();/创建Graphics对象 g.DrawRectangle(myPen,30,30,70,50);/利用画笔画矩形 private void button2_Click(obj
8、ect sender,EventArgs e)Graphics g=this.CreateGraphics();/创建Graphics对象 SolidBrush mySBrush=new SolidBrush(Color.Red);/定义颜色为红色的画刷 g.FillRectangle(mySBrush,130,30,70,50);/利用画刷画矩形,6.2.2 画刷,分别单击“画笔”和“画刷”按钮,。运行前后结果如图6.2所示。,6.2.3 绘制直线,1绘制一条连接两个Point结构的线。Graphics g=this.CreateGraphics();g.DrawLine(Pen myPen
9、,Point pt1,Point pt2);其中笔对象myPen确定线条的颜色、宽度和样式。ptl是Point结构,它表示要连接的一个点。pt2是Point结构,表示要连接的另一个点。2绘制一条连接由坐标对指定的两个点的线条。Graphics g=this.CreateGraphics();g.DrawLine(Pen myPen,int x1,int y1,int x2,int y2);DrawLine方法中各参数及说明如表6.5所示。,6.2.3 绘制直线,【例6.2】设计WinForm应用程序分别使用以上介绍的方法绘制直线。新建WinForm项目,在Form1的设计视图中将此窗体调整到适
10、当的大小并将“Text”属性设为“绘制直线”。从工具箱中拖放3个Button控件到窗体中。button1、button2和button3的Text属性值分别设置为“画横线”、“画竖线”和“画斜线”。在窗体设计器中分别双击“画横线”、“画竖线”和“画斜线”按钮,如代码所示。运行程序,分别单击“画横线”、“画竖线”和“画斜线”按钮,运行结果如图6.3所示。,6.2.4 绘制矩形,(1)绘制由Rectangle结构指定的矩形。Graphics g=this.CreateGraphics();g.DrawRectangle(Pen myPen,Rectangle rect);其中myPen为笔Pen的
11、对象,它确定矩形的颜色、宽度和样式。rect表示要绘制矩形的Rectangle结构。例如,声明一个Rectangle结构,代码如下:Rectangle rect=new Rectangle(30,30,100,80);/以(30,30)为起点长为100,高为80的矩形(2)绘制由坐标对、宽度和高度指定的矩形。Graphics g=this.CreateGraphics();g.DrawRectangle(Pen myPen,int x,int y,int width,int int height);,6.2.4 绘制矩形,DrawRectangle方法中各参数及说明如表6.6所示。,6.2.4
12、 绘制矩形,【例6.3】设计WinForm应用程序分别使用以上介绍的方法绘制矩形。新建WinForm项目,在Form1的设计视图中将此窗体调整到适当的大小并将“Text”属性设为“绘制矩形”。从工具箱中拖放3个Button控件到窗体中。button1、button2和button3的Text属性值分别设置为“画矩形方法一”、“画矩形方法二”和“画实心矩形”。在窗体设计器中分别双击“画矩形方法一”、“画矩形方法二”和“画实心矩形”按钮,其事件代码所示。运行程序,分别单击三个按钮,运行结果如图6.4所示。,6.2.5 绘制椭圆,(1)绘制边界由Rectangle结构指定的椭圆。Graphics g
13、=this.CreateGraphics();g.DrawEllipse(Pen myPen,Rectangle rect);其中myPen为Pen对象,它确定曲线的颜色、宽度和样式。rect为Rectangle结构,它定义椭圆的边界。(2)绘制一个由边框(该边框由一对坐标、高度和宽度指定)指定的椭圆。Graphics g=this.CreateGraphics();g.DrawEllipse(Pen myPen,int x,int y,int width,int height);,6.2.5 绘制椭圆,DrawEllipse方法中各参数及说明如表6.7所示。,6.2.5 绘制椭圆,【例6.4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- GDI 编程 分析 课件
链接地址:https://www.31ppt.com/p-4095888.html