为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

第7章节 C#图形图像编程新

2018-12-07 57页 ppt 1MB 27阅读

用户头像 个人认证

诺诺

暂无简介

举报
第7章节 C#图形图像编程新 第7章C#图形图像编程7.1图形设计基础7.2画图工具及其使用7.3绘制图形7.4字体和图像处理7.5综合应用实例7.1图形设计基础 7.1.1GDI+简介 GDI具有如下特点:(1)不允许程序直接访问物理硬件,而是通过称为“设备环境”的抽象接口间接访问。(2)程序需要与显示硬件(显示器、打印机等)进行通信时,必须首先获得与特定窗口相关联的设备环境。(3)用户无须关心具体的物理设备类型。(4)Windows系统参考设备环境的数据结构完成数据的输出。7.1.2绘图坐标系 坐标系是图形设计的基础...
第7章节 C#图形图像编程新
 第7章C#图形图像编程7.1图形设计基础7.2画图工具及其使用7.3绘制图形7.4字体和图像处理7.5综合应用实例7.1图形设计基础 7.1.1GDI+简介 GDI具有如下特点:(1)不允许程序直接访问物理硬件,而是通过称为“设备环境”的抽象接口间接访问。(2)程序需要与显示硬件(显示器、打印机等)进行通信时,必须首先获得与特定窗口相关联的设备环境。(3)用户无须关心具体的物理设备类型。(4)Windows系统参考设备环境的数据结构完成数据的输出。7.1.2绘图坐标系 坐标系是图形设计的基础,绘制图形都需要在一个坐标系中进行。绘图是在一个逻辑坐标系中进行的,它是一个相对的坐标系,比如,可以是窗体坐标系,也可以是某个对象坐标系(如文本框、按钮等对象),无论是基于哪一种对象,坐标系总是以该对象的左上角为原点(0,0)。除了原点外,坐标系还包括横坐标(X 轴)和纵坐标(Y 轴),X 值是指点与原点的水平距离,Y值是指点与原点的垂直距离,如图7.1所示。7.1.3屏幕像素 像素是光栅设备可以显示的最小单位。对单色设备来说,每个像素可以用一位(比特)示,而对彩色设备,每个像素必须用多个位表示,位数越多,所表示的颜色越丰富,表7.1中列出了部分设备中每个像素的位数及颜色数。7.2画图工具及其使用 7.2.1笔 笔是Pen类的实例,可用于绘制线条、曲线以及勾勒形状轮廓。创建一支基本的黑色笔的代码如下://创建一个默认宽度为1的黑色笔PenmyPen=newPen(Color.Black);//创建一个宽度为5的黑色笔PenmyPen=newPen(Color.Black,5);也可以通过已存在的画笔对象创建笔。创建基于已存在画刷(名为myBrush)的笔的代码如下://创建一个画笔,与myBrush有相同的属性,并且默认宽度为1PenmyPen=newPen(myBrush);//创建一个画笔,与myBrush有相同的属性,并且宽度为5PenmyPen=newPen(myBrush,5); 7.2.1笔【例7.1】绘制三角函数曲线。程序界面按照图7.2所示的窗体进行布局,其中窗体中央主显示控件为Panel,在工具箱中的图标为。双击Panel控件,在代码中添加如下三个绘图函数。7.2.1笔添加Button控件的Click事件的处理代码:privatevoidbutton1_Click(objectsender,EventArgse){switch(comboBox1.Text){case"y=sin(x)":DrawSin();break;case"y=cos(x)":DrawCos();break;case"y=tan(x)":DrawTan(); break;default:break;}}7.2.1笔运行程序,从下拉列表中选择三角函数,单击【绘制】按钮,在窗体上就描绘出相应函数的曲线,如图7.3所示。7.2.2画刷 画刷是从抽象Brush类派生的类,用于向几何形状内部填充颜色与图案。几种不同类型的画刷如表7.2所示。7.2.2画刷 【例7.2】用画刷给图形着色。新建WinForm项目,在Form1的设计视图中将此窗体调整到适当的大小并将Text属性设为“画刷功能演示”。从工具箱中拖曳2个Button控件到窗体中,如图7.4所示。7.2.2画刷 双击button1控件,加入事件代码:privatevoidbutton1_Click(objectsender,EventArgse){ PenmyPen=newPen(Color.Black); //定义颜色为黑色的笔Graphicsg=this.CreateGraphics(); //创建Graphics对象g.DrawRectangle(myPen,40,20,200,120); //用笔画矩形}双击button2控件,加入事件代码:privatevoidbutton2_Click(objectsender,EventArgse){Graphicsg=this.CreateGraphics(); //创建Graphics对象SolidBrushmySBrush=newSolidBrush(Color.Red); //定义颜色为红色的画刷g.FillRectangle(mySBrush,40,20,200,120); //用画刷给矩形着色}7.2.2画刷 运行程序,单击【笔】按钮,窗体中央出现一个矩形(见图7.5(a)),再单击【画刷】按钮,矩形被着上红色(见图7.5(b)),下面是运行前后的效果。7.2.3Graphics类1.Paint事件在为窗体编写Paint事件处理程序时,图形对象作为一个PaintEventArgs类的实例提供。下面的代码引用Paint事件的PaintEventArgs中的Graphics对象:privatevoidForm1_Paint(objectsender,System.Windows.Forms.PaintEventArgspe){ /*声明图形对象并把它设置为PaintEventArgs事件提供的图形对象*/ Graphicsg=pe.Graphics;}7.2.3Graphics类2.CreateGraphics()方法使用控件或窗体的CreateGraphics()方法获取对Graphics对象的引用,该对象表示这个控件或窗体的绘图表面。例如:Graphicsg;g=this.CreateGraphics(); //把g设为一个图形对象,来表示控件或窗体的绘图平面3.Graphics.FromImage()方法从Image类派生的任何对象创建图形对象,调用Graphics.FromImage()方法即可。例如:BitmapmyBitmap=newBitmap(@"C:\myPic.bmp");Graphicsg=Graphics.FromImage(myBitmap);在GDI+中,一般使用“笔”和“画刷”对象配合Graphics类来呈现图形图像。Graphics类的常用属性和方法分别如表7.3和表7.4所示。7.3绘制图形 7.3.1线条定位与选型 1.线条位置的确定绘制线条用Graphics类的DrawLine()方法,方法的各参数及说明如表7.5所示。7.3.1线条定位与选型 该方法为可重载方法,它通过由Point结构或坐标对指定的两个点来定位一条线条,其常用格式有以下两种:(1)绘制一条连接两个Point结构的线段。Graphicsg=this.CreateGraphics();g.DrawLine(PenmyPen,Pointpt1,Pointpt2);(2)绘制一条连接由坐标对指定的两个点的线段。Graphicsg=this.CreateGraphics();g.DrawLine(PenmyPen,intx1,inty1,intx2,inty2);7.3.1线条定位与选型 【例 7.3】设计WinForm应用程序,使用以上两种方法绘制不同指向方位的线条。新建WinForm项目,在Form1的设计视图中将此窗体调整到适当的大小,并将Text属性设为“不同指向方位的直线”。从工具箱中拖曳3个Button控件到窗体中。控件button1、button2和button3的Text属性分别设置为“画横线”、“画竖线”和“画斜线”,为这3个按钮编写事件代码所示。运行程序,分别单击【画横线】、【画竖线】和【画斜线】按钮,运行结果如图7.6所示。7.3.1线条定位与选型 【例 7.4】在窗体上绘制不同线型外观的线条。新建WinForm项目,在Form1的设计视图中将此窗体调整到适当的大小,并将Text属性设为“不同线型外观的线条”。为窗体编写Paint事件处理程序。程序运行结果如图7.7所示。7.3.2画空心形状1.绘制矩形用Graphics类中的DrawRectangle()方法来绘制矩形,该方法为可重载方法,主要用来绘制由坐标对、宽度和高度指定的矩形,其常用格式有以下两种。(1)绘制由Rectangle结构指定的矩形。Graphicsg=this.CreateGraphics();g.DrawRectangle(PenmyPen,Rectanglerect);其中myPen为笔Pen的对象,它确定矩形的颜色、宽度和样式。rect表示要绘制矩形的Rectangle结构。例如,声明一个Rectangle结构,代码如下:Rectanglerect=newRectangle(30,30,100,80); //以(30,30)为起点长为100,高为80的矩形 (2)绘制由坐标对、宽度和高度指定的矩形。Graphicsg=this.CreateGraphics();g.DrawRectangle(PenmyPen,intx,inty,intwidth,intintheight);7.3.2画空心形状DrawRectangle()方法中各参数及说明如表7.6所示。7.3.2画空心形状【例7.5】设计WinForm应用程序,分别使用以上介绍的两种方法绘制矩形。新建WinForm项目,在Form1的设计视图中将此窗体调整到适当的大小,并将Text属性设为“绘制矩形”。从工具箱中拖曳2个Button控件到窗体中。控件button1和button2的Text属性值分别设置为“方法一”和“方法二”。为两个按钮编写事件代码:privatevoidbutton1_Click(objectsender,EventArgse) //画矩形方法一{Graphicsg=this.CreateGraphics();PenmyPen=newPen(Color.Black,4);/*声明一个Rectangle结构以(30,30)为起点长为100,高为80的矩形*/Rectanglerect=newRectangle(30,30,100,80);g.DrawRectangle(myPen,rect);}privatevoidbutton2_Click(objectsender,EventArgse) //画矩形方法二{Graphicsg=this.CreateGraphics();PenmyPen=newPen(Color.Red,4);g.DrawRectangle(myPen,140,30,100,80); //以(140,30)为起点长100,高80的矩形}7.3.2画空心形状运行程序,分别单击两个按钮,画出的矩形如图7.8所示。7.3.2画空心形状2.绘制椭圆绘制椭圆时,可以调用Graphics类中的DrawEllipse()方法,该方法为可重载方法,它主要用来绘制边界由Rectangle结构指定的椭圆,其常用格式有以下两种。(1)绘制边界由Rectangle结构指定的椭圆。Graphicsg=this.CreateGraphics();g.DrawEllipse(PenmyPen,Rectanglerect);(2)绘制一个由边框(该边框由一对坐标、高度和宽度指定)指定的椭圆。Graphicsg=this.CreateGraphics();g.DrawEllipse(PenmyPen,intx,inty,intwidth,intheight);7.3.2画空心形状DrawEllipse()方法中各参数及说明如表7.7所示。7.3.2画空心形状【例7.6】设计WinForm应用程序,分别使用以上介绍的两种方法绘制椭圆。新建WinForm项目,在Form1的设计视图中将此窗体调整到适当的大小并将Text属性设为“绘制椭圆”。从工具箱中拖曳2个Button控件到窗体中。控件button1和button2的Text属性值分别设置为“方法一”和“方法二”。为两个按钮编写事件代码:privatevoidbutton1_Click(objectsender,EventArgse){Graphicsg=this.CreateGraphics();PenmyPen=newPen(Color.Black,4);/*声明一个Rectangle结构以(30,30)为起点长为100,高为80的矩形*/Rectanglerect=newRectangle(30,30,100,80);g.DrawEllipse(myPen,rect);}privatevoidbutton2_Click(objectsender,EventArgse){Graphicsg=this.CreateGraphics();PenmyPen=newPen(Color.Red,4);g.DrawEllipse(myPen,160,30,100,80);//以(160,30)为起点长为100,高为80的椭圆}7.3.2画空心形状运行程序,分别单击两个按钮,画出的椭圆如图7.9所示。圆属于一种特殊的椭圆,当椭圆边框的宽度和高度相等时即为圆。如将上面控件button2的代码改写为:Graphicsg=this.CreateGraphics();PenmyPen=newPen(Color.Red,4);g.DrawEllipse(myPen,160,30,100,100);//以(160,30)为起点长为100,高为100的圆 7.3.2画空心形状3.绘制圆弧(1)绘制一段弧线,它表示由Rectangle结构指定的圆弧的一部分。Graphicsg=this.CreateGraphics();g.DrawArc(PenmyPen,Rectanglerect,startAngle,sweepAngle);DrawArc()方法一中各参数及说明如表7.8所示。7.3.2画空心形状(2)绘制一段弧线,它表示由一对坐标、宽度和高度指定的圆弧部分。Graphicsg=this.CreateGraphics();g.DrawArc(PenmyPen,intx,inty,intwidth,intheight,startAngle,sweepAngle);DrawArc()方法二中各参数及说明如表7.9所示。7.3.2画空心形状【例7.7】设计WinForm应用程序,分别使用以上介绍的两种方法绘制圆弧。新建WinForm项目,在Form1的设计视图中将此窗体调整到适当的大小并将Text属性设为“绘制圆弧”。从工具箱中拖曳2个Button控件到窗体中。控件button1和button2的Text属性值分别设置为“方法一”和“方法二”。为两个按钮编写事件代码:privatevoidbutton1_Click(objectsender,EventArgse){Graphicsg=this.CreateGraphics();PenmyPen=newPen(Color.Black,4);/*声明一个Rectangle结构以(60,30)为起点长为100,高为80的矩形*/Rectanglerect=newRectangle(60,30,100,80);g.DrawArc(myPen,rect,120,170);}privatevoidbutton2_Click(objectsender,EventArgse){Graphicsg=this.CreateGraphics();PenmyPen=newPen(Color.Red,4);g.DrawArc(myPen,170,30,100,80,120,170);}7.3.2画空心形状运行程序,分别单击两个按钮,画出的圆弧如图7.10所示。7.3.2画空心形状4.绘制多边形(1)绘制由一组Point结构定义的多边形。Graphicsg=this.CreateGraphics();g.DrawPolygon(PenmyPen,Point[]points);(2)绘制由一组PointF结构定义的多边形。Graphicsg=this.CreateGraphics();g.DrawPolygon(PenmyPen,PointF[]points);【例7.8】设计WinForm应用程序,分别使用以上介绍的两种方法绘制多边形。新建WinForm项目,在Form1的设计视图中将此窗体调整到适当的大小,并将Text属性设为“绘制多边形”。从工具箱中拖曳2个Button控件到窗体中。控件button1和button2的Text属性值分别设置为“方法一”和“方法二”。为两个按钮编写事件代码。7.3.2画空心形状运行程序,分别单击两个按钮,画出的多边形如图7.11所示。7.3.3图形的填充1.颜色(1)系统定义的颜色可以通过Color结构访问若干系统定义的颜色。这些颜色的示例如下:ColormyColor;myColor=Color.Red;myColor=Color.Aquamarine;myColor=Color.LightGoldenrodYellow;myColor=Color.PapayaWhip;myColor=Color.Tomato;(2)用户定义的颜色使用Color.FromArgb()方法创建用户定义的颜色。定义时,可以指定一种颜色中红色、蓝色和绿色各部分的强度。ColormyColor;myColor=Color.FromArgb(23,56,78);7.3.3图形的填充(3)Alpha混合处理(透明度)如果需要指定Alpha部分,则它应为Color.FromArgb()方法中4个参数的第一个参数,并且是0~255之间的一个整数。例如:ColormyColor;myColor=Color.FromArgb(127,23,56,78);此示例创建一种颜色,该颜色为略带蓝色的灰色且大致为50%的透明度。也可以通过指定Alpha部分和以前定义的颜色来创建Alpha混合处理的颜色,代码如下:ColormyColor;myColor=Color.FromArgb(128,Color.Tomato);7.3.3图形的填充2.图案(1)简单图案HatchBrush类可以从大量预设的图案中选择绘制时要使用的图案,而不是纯色。创建一个 HatchBrush 对象,使用方格图案进行绘制,并使用红色作为前景色,蓝色作为背景色,代码如下:usingSystem.Drawing.Drawing2D;HatchBrushaHatchBrush=newHatchBrush(HatchStyle.Plaid,Color.Red,Color.Blue);(2)复杂图案纹理画刷使用图像作为图案填充形状或文本。下面的示例创建一个TextureBrush对象,它使用名为myBitmap的图像进行绘制。TextureBrushmyBrush=newTextureBrush(newBitmap(@"C:\myBitmap.bmp"));7.3.3图形的填充(3)复杂底纹使用由红色逐渐向黄色混合而形成的渐变,如图7.12所示。代码如下:usingSystem.Drawing.Drawing2DGraphicsg=this.CreateGraphics();LinearGradientBrushmyBrush=newLinearGradientBrush(ClientRectangle,Color.Red,Color.Yellow,LinearGradientMode.Vertical);g.FillRectangle(myBrush,ClientRectangle);7.3.3图形的填充绘图并填充色彩的一般步骤如下:(1)获取对绘图的图形对象的引用。例如:Graphicsg=this.CreateGraphics();(2)创建绘制形状的Brush实例。例如:SolidBrushmyBrush=newSolidBrush(Color.Red);(3)调用绘制形状的方法,并提供所有相应的参数。对于某些方法(如FillPolygon()方法),必须提供一系列点,这些点描述要绘制形状的轮廓。7.3.3图形的填充【例7.9】绘制图形并着色填充。示例代码如下:Pointpoint1=newPoint(0,0);Pointpoint2=newPoint(0,100);Pointpoint3=newPoint(100,0);Point[]curvePoints={point1,point2,point3};e.Graphics.FillPolygon(myBrush,curvePoints);g.FillRectangle(myBrush,newRectangleF(50,50,100,100));g.FillPie(myBrush,newRectangle(0,0,300,300),0,90);7.3.3图形的填充程序运行结果如图7.13所示。7.4字体和图像处理 7.4.1定义字体 要输出文本,需要先指定文本的字体,字体可以通过Font类的构造函数来设置。语法格式如下:Font字体对象名=newFont(字体名称,大小,样式,量度)其中:  字体对象名:要创建的字体对象名。  字体名称:字体的名称,String类型值。如TimesNewRoman、宋体、楷体等。  大小:Single类型的值,指定字体的大小,默认单位为点。7.4.1定义字体   样式:可选项。指定字体的样式,是FontStyle枚举类型的值,枚举成员见表7.10。  量度:可选项。指定字体大小的单位,是GraphicsUnit枚举类型的值,枚举成员见表7.11。7.4.2文本输出 【例7.10】绘制字符串。步骤如下:(1)获取对将用于绘图的图形对象的引用。例如://获得一个图形对象的引用Graphicsg=this.CreateGraphics();(2)创建绘制文本要使用的画刷实例。例如:LinearGradientBrushmyBrush=newLinearGradientBrush(ClientRectangle,Color.Red,Color.Yellow ,LinearGradientMode.Horizontal);(3)创建显示文本要使用的字体。例如:FontmyFont=newFont("TimesNewRoman",24);7.4.2文本输出 (4)调用Graphics对象的DrawString()方法来呈现文本。如果提供RectangleF对象,则文本将在矩形中换行。否则,文本将从提供的起始坐标处开始。例如:FontFamily[]families=FontFamily.GetFamilies(e.Graphics);Fontfont;stringfamilyString;floatspacing=0f;inttop=families.Length>10?10:families.Length;for(inti=0;i<top;i++){font=newFont(families[i],16,FontStyle.Bold);familyString="Thisisthe"+families[i].Name+"family.";e.Graphics.DrawString(familyString,font,Brushes.Black,newPointF(0,spacing));spacing+=font.Height+3;}7.4.2文本输出 程序运行结果如图7.14所示。7.4.3绘制图像 【例7.11】设计WinForm应用程序在PictureBox控件中绘制图像。新建WinForm项目,在Form1的设计视图中将此窗体调整到适当的大小,并将Text属性设为“绘制图像”。添加一个Button控件,Text属性设置为“绘制”,再添加一个PictureBox控件。在本机C盘中存放一副命名为“boy.gif”的图片。添加控件button1的Click事件,其事件代码如下:privatevoidbutton1_Click(objectsender,EventArgse){BitmapmyBitmap=newBitmap("C:\\boy.gif");Graphicsg=pictureBox1.CreateGraphics();g.DrawImage(myBitmap,0,0);}7.4.3绘制图像 运行程序,单击【绘制】按钮,运行结果如图7.15所示。7.4.4图像刷新例如,定义一个Bitmap对象,将其赋给窗体的BackgroundImage属性,代码如下:Bitmapbmp=newBitmap(this.Width,this.Height); //设置图像的尺寸,创建空的位图this.BackgroundImage=bmp;然后,在Bitmap对象上画图,需要借助Graphics对象提供的丰富的画图方法。因此,将从Bitmap对象创建一个Graphics对象,之后就可以在Graphics对象上画图,也就是在Bitmap对象上画图,代码如下:Graphicsg=Graphics.FromImage(bmp); //从bmp对象创建一个Graphics对象g.Clear(this.BackColor); //设置位图的背景色并清除原来的图像Penbackpen=newPen(Color.Black,4); //一个黑色画笔g.DrawLine(backpen,0,0,300,300); //画一条线7.5综合应用实例【例7.12】仿制Windows画图板程序。1.界面设计新建一个Windows窗体应用程序,将窗体Form1调整到适当大小,在窗体Form1中分别添加1个Panel、1个PictureBox和1个StatusStrip控件,在Panel控件中分别放入3个GroupBox控件,3个GroupBox控件中再分别放入9个Button、5个Button和7个Button控件,添加1个ColorDialog控件,在StatusStrip控件中添加1个ToolStripStatusLabe,界面设计效果如图7.16所示。7.5综合应用实例2.属性设置将StatusStrip控件中的ToolStripStatusLabe1的Text属性设置为空值,画图板中控件属性的设置如表7.12所示。其中GroupBox1、GroupBox2和GroupBox3分组框中包含的按钮控件的属性设置分别如表7.13、7.14和7.15所示。7.5综合应用实例3.程序代码设计定义画图的起终点、选择的画笔的宽度和图形枚举的代码如下:Graphicsg;PointpStart,pEnd; //定义画图的起始终点intChoiceGraph; //所选择图形枚举intpenWidth; //画笔宽度enummySelected{ Pencil, //铅笔 Line, //直线 Ellipse, //空心椭圆 FillEllipse, //填充椭圆 Rec, //空心矩形 FillRec, //填充矩形 Eraser //橡皮擦};7.5综合应用实例窗体加载的事件代码:privatevoidForm1_Load(objectsender,EventArgse){g=this.pictureBox1.CreateGraphics();ChoiceGraph=(int)mySelected.Pencil; //默认选择为铅笔工具penWidth=3; //初始化画笔宽度btnControl.BackColor=btnBlack.BackColor; //默认黑色笔}7.5综合应用实例选择“工具”分组框中工具按钮时,将所选择按钮的Tag属性值作为所选择图形枚举。添加的方法是在事件窗口中,分别选择除【新建】和【退出】按钮外按钮的Click事件方法“btnTool_Click”,事件代码如下:privatevoidbtnTool_Click(objectsender,EventArgse){ ChoiceGraph=Convert.ToInt32(((Button)sender).Tag);}7.5综合应用实例选择“宽度”分组框中工具按钮时,将所选择宽度按钮的Tag值设为画笔宽度。添加的方法是在事件窗口中,分别将所选择的宽度按钮的Click事件方法设置为“btnLine_Click”,事件代码如下:privatevoidbtnLine1_Click(objectsender,EventArgse){//把所有按钮的背景色都设为WhitebtnLine1.BackColor=Color.White;btnLine2.BackColor=Color.White;btnLine3.BackColor=Color.White;btnLine4.BackColor=Color.White;btnLine5.BackColor=Color.White;((Button)sender).BackColor=Color.Black;//选中的按钮背景色为黑色penWidth=Convert.ToInt32(((Button)sender).Tag);//将宽度按钮的Tag值设为画笔宽度}7.5综合应用实例选择“颜色”分组框中工具按钮时,将所选择的颜色按钮的背景色设置为btnControl按钮的背景色,而btnControl按钮的背景色作为画笔的颜色,事件代码如下:privatevoidbtnColor_Click(objectsender,EventArgse){if(((Button)sender).Text=="C"){if(colorDialog1.ShowDialog()==DialogResult.OK){btnControl.BackColor=colorDialog1.Color;}}else{ btnControl.BackColor=((Button)sender).BackColor;}}7.5综合应用实例添加一个方法,其功能是在画图过程中将终点设置在起点的右下方。方法代码。当单击鼠标时记录起点坐标,其事件代码如下:privatevoidpictureBox1_MouseDown(objectsender,MouseEventArgse){ if(e.Button==MouseButtons.Left) //如果单击鼠标左键,则将当前点坐标赋给起始点 { pStart.X=e.X; pStart.Y=e.Y; }}当单击鼠标左键并移动时,如果选择的是铅笔则画出鼠标移动的轨迹,如果选择的是橡皮擦,则擦除鼠标移动的轨迹。事件代码。当松开鼠标左键时,根据所选择的画图工具画出图形,事件代码。7.5综合应用实例【新建】按钮事件代码为:privatevoidbtnNew_Click(objectsender,EventArgse){ pictureBox1.Refresh(); //刷新} 【退出】按钮事件代码为:privatevoidbtnExit_Click(objectsender,EventArgse){ this.Close(); //关闭}7.5综合应用实例这样,一个功能类似Windows画图板的程序就完成了,可以用该程序手工绘制简单的图画,效果如图7.17所示。
/
本文档为【第7章节 C#图形图像编程新】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索