购买

¥ 25.0

加入VIP
  • 专属下载特权
  • 现金文档折扣购买
  • VIP免费专区
  • 千万文档免费下载

上传资料

关闭

关闭

关闭

封号提示

内容

首页 图形图像编程GDI+

图形图像编程GDI+.ppt

图形图像编程GDI+

精品课件库
2019-06-20 0人阅读 举报 0 0 暂无简介

简介:本文档为《图形图像编程GDI+ppt》,可适用于综合领域

图形图像编程GDIZhanghz本章要点本章主要介绍如何使用GDI(GraphicsDeviceInterfacePlus)提供的类显示文字和绘制图形以及一些基本的绘图类通过几个示例程序来演示介绍的内容纲要图片类控件介绍和使用图像打印技术及与剪贴板的交互Graphics对象与Paint事件常用的数据结构、画笔、画刷、文字与图像的显示图像编辑软件GDIGDI是Microsoft的新一代的二维图形系统它完全面向对象。GDI包括三部分:二维矢量图形绘制、图像处理和文字显示。要在Windows窗体中显示字体或绘制图形必须要使用GDI。GDI提供了多种画笔、画刷、图像等图形对象此外还包括一些新的绘图功能如Alpha混色、渐变色、纹理、消除锯齿以及使用包括位图在内的多种图像格式。GDI使用的各种类大都包含在命名空间SystemDrawing中。图片类控件图片框控件用PictureBox类封装主要用来显示图片。它支持的图像文件格式有bmp、gif、jpeg或图标文件等。常使用的属性有两个:Image属性:用来设置在图片框控件中显示的图片。可以在属性窗口中设置图片也可以通过代码来设置。例如pictureBoxImage=SystemDrawingImageFromFile(“C:windowswinlogogif”)pictureBoxImage=SizeMode属性:用于设置图片图片框显示图像的方式。其属性值在PictureBoxSizeMode枚举类型中定义。PictureBoxSizeMode枚举类型的常用值AutoSize:图片框自动把它的大小调整到图像的大小CenterImage:图像在图片框中居中显示。如果图像大小超过图片框大小则超出的部分将被图片框裁剪掉Normal:图像从图片框的左上角开始显示超出部分被裁剪StretchImage:图像将被拉伸或缩小到图片框的大小Zoom:图像将被放大来适合图片框大小。图片框主要用于显示静态图像一般不进行事件处理。常用的有Click和DoubleClick事件。图像列表控件用ImageList类封装可以利用这个控件来保存一些图像图像格式可以为bmp、gif和jpg等。其他的控件(如ListView、TreeView和ToolStrip等)就可以使用这些图像。Images属性:包含图像列表控件中的图像这是一个集合属性。对它的设置最好的方法是通过属性窗口中Images属性打开“图像集合编辑器”对话框来进行添加和删除等操作。ImageSize属性:指定列表中的图像大小。例如imageListImageSize=newSystemDrawingSize(,)ColorDepth属性:用于设置图像的颜色深度(使用几位数据来表示一种颜色)。其属性值在枚举类型ColorDepth中定义其常用值有:DepthBit:位颜色DepthBit:位颜色DepthBit:位颜色DepthBit:位颜色(色)DepthBit:位颜色(色)。TransparentColor属性:设置图像列表中图像的透明色。例如设置透明颜色为白色imageListTransparentColor=SystemDrawingColor,White一般不需要对图像列表控件进行事件处理。示例程序图像打印技术及与剪贴板的交互图像打印技术通过PrintDocument控件和打印对话框等控件的结合使用来实现。主要的技术包括PrintDocument控件的动态建立、事件设置以及图像的打印。示例图像与剪贴板的交互主要通过Clipboard对象提供的SetDataObject和GetDataObject方法来进行数据设置和获取。并通过IDataObject接口提供的GetDataPresent方法判断当前剪贴板的数据格式。这个过程与文本交互类似。示例常用的数据结构在使用GDI显示文字和绘制图形时经常要用到一些数据结构如Size、Point和Rectangle等。它们在SystemDrawing命名空间中定义都属于值类型(结构类型)。Point结构代表Windows窗体应用程序中的一个二维表面上的位置常用于定义窗体或控件的位置表示一个点的坐标值具有以下两种属性:X定义Point结构的x坐标或者水平位置。Y定义Point结构的y坐标或者垂直位置。初始化方法有种Point():空点Point(intx,inty):直接指定X坐标和Y坐标初始化Point(intdw):通过一个用位的整数来初始化参数的高位表示Y坐标低位表示X坐标。Point(Sizesz):通过一个Size变量来初始化。sz的宽度表示X坐标高度表示Y坐标。可通过IsEmpty属性检测Point结构是否为空为空则返回true。可以直接对Point变量进行、–、==、!=运算以及Point变量与Size值的加减操作。PointF结构类似Point结构区别是它的坐标是浮点值。Point值可以隐式自动转换成PointF值PointF值转换成Point值可以通过Point结构包含的种静态方法:Ceiling每个坐标值取大于或等于原值的最小整数值Round每个坐标值四舍五入取最接近的整数值Truncate每个坐标值取小于或等于原值的最大整数值。Size结构用于定义Windows窗体应用程序中的窗口、控件和其他矩形区域的大小。具有宽度值Width和高度值Height属性也可以使用IsEmpty属性来检测Size是否为空。初始化方法直接指定高度值和宽度值Sizeb=newSize(,)通过一个Point变量来初始化Sizea=newSize(newPoint(,))判断两个Size变量是否相等可以使用其Equals方法如sizeEquals(size)SizeF结构与Size结构类似SizeF结构与Size结构。Rectangle结构保存一个矩形区域的位置和大小包含有X、Y、Width、Height、Size属性还有Top、Bottom、Left、Right等属性返回各边坐标值。Rectangle的初始化指定一个Point值和Size值如Rectanglec=newRectangle(point,size)直接指定矩形位置、宽度和高度值前两个参数指定了矩形左上角的XY坐标值后两个参数指定矩形的宽度和高度。如Rectangled=newRectangle(left,top,width,height)包含的一些方法Contains方法:确定一个矩形或一个点是否在当前矩形区域内。参数类型可以是Point结构Rectangle结构和点坐标值。Union方法:求两个矩形的并集。参数是两个要求并集的矩形返回一个包含其并集的Rectangle结构。Intersect方法:求两个矩形的交集。参数为两个求交的矩形则返回一个表示其交集的Rectangle结构参数为一个矩形则获得当前矩形与参数矩形的交集Rectangle用这个结果替换当前矩形。可以直接对Rectangle变量进行等于==或不等于!=操作。正在绘制或操作一个控件的工作区时常常使用Rectangle结构。窗体的工作区是位于标题栏(或有菜单栏)下面且在窗体边界内部的控件的一部分。Form类中有一个ClientRectangle属性用于获取工作区的位置。如RectanglemyRect=ClientRectangle这里需要注意状态栏虽然覆盖了工作区但并没有减少工作区的总大小。在计算一个窗体的可视区域时要将工作区的大小值减去状态栏的大小。RectangleF结构:使用SizeF结构和PointF结构。Graphics对象在传统的Windows窗口中使用DeviceContext即设备上下文来进行绘图操作而在NET框架的Windows窗体中则使用绘图对象进行绘图操作。使用SystemDrawing命名空间中的Graphics类封装GDI的绘图对象在Windows窗体中的所有绘图操作(包括显示文字)都必须通过这个类来进行。Graphics类相当于MFC中的CDC类。要使用Graphics进行绘图首先必须获得它的对象实例或是创建一个Graphics对象。最常用的方法是可以通过窗体的Paint事件来获取对象实例创建对象则通过CreateGraphics方法。Graphics类提供的许多绘图方法有:Clear方法:使用一种指定的颜色填充整修绘图表面。例如Graphicsg=thisCreateGraphicsgClear(thisBackColor)用当前控件的背景色填充绘制方法一般都有多个重载第一个参数一般都是绘制画笔Pen类型:DrawClosedCurve:绘制闭合曲线DrawCurve:绘制曲线DrawImage:绘制图像这里没有使用Pen类型的参数第一个Image参数指定要绘制的图像第二个及之后的参数指定绘制的位置。DrawLine:绘制直线第二个及之后的参数是两个点的表示。DrawString:在指定位置以指定字体显示字符串。DrawRectangle和DrawRectangles:绘制一个或多个矩形。填充方法一般都有多个重载第一个参数一般都是填充画刷Brush类型:FillRectangle:填充矩形第二个参数可以是一个矩形结构或者其他可表示矩形的方式(如PointSize)。FillClosedCurve:填充闭合曲线FillRegion:填充一个区域。两个参数第一个指定填充使用的画刷(Brush类型)第二个指定填充区域(Region类型)。FromImage方法:从参数指定的Image对象创建一个新的Graphics对象。GetHDC方法:返回与Graphics相关联的设备句柄。ReleaseHDC方法:释放设备句柄。Paint事件所有绘图操作都是通过响应窗体或控件的Paint事件来进行处理的。几乎所有的窗体和控件类都包含这个事件。Paint事件的代理类型为PaintEventHandler事件参数类型为PaintEventArgs。在这个参数中包含了两个在处理Paint事件方面十分重要的属性:ClipRectangle获取要在其中进行绘画的矩形。Graphics返回一个Graphics类实例用于输出。窗体和控件类提供了OnPaint虚拟方法来更方便地处理Paint事件当触发Paint事件时会自动的调用这个方法。从Form类或控件类派生新类时要在新类中覆盖基类提供的OnPaint方法以绘制自己的控件。在覆盖基类的OnPaint方法时必须调用基类的OnPaint方法否则其他绑定到Paint事件上的处理方法将不能调用。要触发Paint事件可以通过调用控件类的Invalidate方法它将使窗体或控件先无效然后向它们发送绘图消息。通常调用Invalidate方法不会立即触发Paint事件要实现立即触发可以在这个方法后紧接着调用Update方法。例如thisInvalidate()thisUpdate()Graphics绘图和Paint事件示例程序使用颜色NET框架中的颜色基于种成分。除了三原色红、绿、蓝外还有第种称为alpha的值用于指定颜色的透明度。其中每个成分都是一个字节在~之间取值。在GDI中用值类型Color结构来表示颜色。在类和方法中要使用颜色的时候它们都需要Color结构的一个实例。Color结构中预定义了种颜色它们都使用静态属性来表示。其中有一种Transparent颜色其alpha成分设置为表示透明颜色创建Color对象实例的方法创建Color实例最简单的方法就是通过一个静态属性来返回。如ColornewColor=ColorRed可以使用默认的构造函数来创建Color实例但是所产生的Color对象是纯黑色的并且不能修改为其他颜色。通过调用FromArgb静态方法它有种版本。Colorsky=ColorFromArgb(,,,)参数依次表示alpha成分红绿蓝。Colorsky=ColorFromArgb(,,)这里缺省了alpha成分它隐式地设置为它的最大值生成一种完全不透明的颜色。Colorsky=ColorFromArgb(,ColorBlue)这里使用一个现有的Color对象实例只是修改了alpha成分的值。Colorsky=ColorFromArgb(xCCFF)使用一个形式为AARRGGBB的组合整数。通过调用FromKnownColor静态方法参数为KnownColor枚举类型的值。如Colorsky=ColorFromKnownColor(KnownColorBlue)KnownColor枚举类型:其值包含了Color结构的所有种颜色以及SystemColors类的种颜色。通过调用FromName静态方法参数是一个字符串这个字符串必须是KnownColor枚举值的名称。如Colorsky=ColorFromName(“Blue”)Color属性具有个只读属性可以用于提取颜色的各种成分A返回颜色的alpha成分R红色成分G绿色成分B蓝色成分。其他有用的非静态属性IsNamedColor判断颜色值是否在个命名颜色中IsKnownColor判断颜色值是否KnownColor枚举的颜色IsSystemColor判断颜色值是否SystemColor类的属性值。Windows系统使用一些系统范围的颜色如活动边框的颜色和标题栏颜色等。NET框架为这些系统颜色提供了一个封装类SystemColors。各种系统颜色以静态属性的形式保存在这个类中可以直接通过类名来引用。具体系统颜色见表。看个颜色使用的例子。使用字体在窗体或控件中都包含有Font属性表示窗体或控件当前使用的字体。在窗体或控件创建时会使用系统的默认字体值。字体使用DrawingFont类封装通过创建这么个类的实例可以创建新的字体。在创建时需要指定字体的名称、大小和风格如果不指定字体风格则将创建常规字体。Font构造函数下面语句创建一个磅的粗体隶书字体。Fontfont=newFont(“隶书”,,FontStyleBold)下面语句使用指定的度量单位而不是磅值来创建字体Fontfont=newFont(“隶书”,,GraphiUnitDocument)组合前两个构造函数Fontfont=newFont(“隶书”,,FontStyleBold,GraphiUnitDocument)GraphicsUnit枚举类型用于指定给定数据的度量单位。Display将英寸指定为度量单位。Document将文档单位(英寸)指定为度量单位。Inch英寸。Millimeter毫米。Pixel设备像素。Point打印机点(英寸)。World通用单位。NET框架中字体风格使用FontStyle枚举类型定义。其值有以下一些它们可以组合使用:Bold:设置字体风格为粗体Italic:设置字体风格为斜体Regular:常规字体Strikeout:字体带删除线Underline:字体带下划线。一个字体所具有的属性是只读的修改任何一个属性都将产生一个新的字体。最常用属性有:Bold字体是否为粗体FontFamilyFontFamily枚举值确定字体的字符集Height字体高度Italic字体是否为斜体Size字体大小SizeInPoints字体的磅值不考虑当前的Unit属性设置Strikeout字体是否有删除线Style应用于这个字体的所有FontStyle枚举值Underline字体是否有下划线UnitGraphicsUnit枚举值确定Height、Width和Size属性使用的单位。字体示例程序使用画笔用Pen类型封装用于绘制图形。可以使用这个类来创建一个指定颜色、默认宽度的画笔对象。构造函数PenpenRed=newPen(ColorRed)这里通过参数指定画笔颜色初始宽度默认为。PenPenRed=newPen(ColorRed,)参数指定画笔颜色和宽度。PenPenRed=newPen(brushRed)参数中使用画刷对象来指定画笔的模式。PenPenRed=newPen(brushRed,)参数中使用画刷来指定画笔模式同时指定宽度。Pen类型可以动态修改属性改变属性时不必重新创建Pen对象。Pen类常用属性有:Alignment指定Pen对象的对齐方式是一个PenAlignment枚举值。Brush获取或设置用于确定此Pen对象的属性的Brush对象Color获取或设置画笔颜色EndCap指定线条末端出现的形状。这是一个LineCap枚举值默认为LineCapFlat。LineJoin指定此Pen对象绘制的两条连续直线终点之间的联接样式。这是一个LineJoin枚举值。PenType获取用此Pen对象绘制的直线的样式是一个PenType枚举值。StartCap指定线条起点出现的形状。默认为LineCapFlat。Width获取或设置画笔绘制的线条的宽度。一些枚举类型(SystemDrawingDrawingD命名空间)PenAlignment枚举类型:指定相对于理论上、零宽度的线条的Pen对象的对齐方式。画笔宽度的中点根据这个枚举值相对于所绘制的线条对齐。Center在线条边界的中间画直线。Inset在构成一条曲线或者一个图形边界的线条内部画直线。Left指定被定位于所绘制的线条的左侧。Outset指定被定位于所绘制的线条的外侧。Right指定被定位于所绘制的线条的右侧。LineCap枚举类型:用于指定如何绘制线条的端点。AnchorMask一个掩码值测试LineCap值是否指定了一个锚头帽。ArrowAnchor指定箭头状锚头帽DiamondAnchor指定菱形锚头帽。Custom指定自定义线帽。Flat不画帽默认值NoAnchor没有锚与Flat有同样的效果。Round指定圆线帽RoundAnchor指定圆锚头帽。Square指定方线帽SquareAnchor指定方锚头帽。Triangle指定三角线帽。LineJoin枚举类型:指定如何连接连续的线条。Bevel指定成斜角的联接。这将产生一个斜角。Miter指定斜联接。扩展线条的外界直到它们相接触。MiterClipped指定斜联接。这种方式要受Pen类的MiterLimit属性的限制。Round指定圆形联接。这将在两条线之间产生平滑的圆弧。PenType枚举类型:指定用来填充线条的Pen对象填充类型。HatchFill指定阴影填充。LinearGradient指定线性渐变填充。PathGradient指定路径渐变填充。SolidColor指定实填充。TextureFill指定位图纹理填充。Pen类的DashStyle属性:设置或获取画笔的风格。其属性值在SystemDrawingDrawingD命名控件中的DashStyle枚举类型中定义。可取值有:Custom:自定义风格Dash:划线DashDot:划线-点DashDotDot:划线-点-点Dot:点线Solid:实线SystemPens类Windows系统颜色画笔用于创建与用户界面和系统颜色相匹配的笔。它的每个静态属性都返回一个Pen对象。下面这行语句创建一个Pen对象将它初始化为用户加亮显示文本时首选的颜色。PenhighlightPen=SystemPensHighlightTextSystemPens的一些静态属性Control控件背景颜色ActiveCaptionText活动窗口标题栏的文本颜色HighlightText加亮显示的文本颜色WindowText窗口的文本颜色WindowFrame窗口的图文框颜色。FromSystemColor静态方法:可以根据作为参数传递给这个方法的一个Color值来创建画笔。如Penpen=SystemPensFromSystemColor(SystemColorsWindow)从SystemPens类得到的所有Pen的引用都是个像素的默认宽度对它们不能进行修改。如果要使用可选择宽度或类型的画笔只能使用Pen类来创建。Pens类提供了很多预定义颜色的画笔对象它们以静态属性的形式保存。例如要创建一个红色画笔可以调用PensRed方法。如Penpen=PensRedPens类中颜色命名规则与Color类中相同知道颜色名字则可以直接调用。使用画刷显示文字时除了指定字体外还要指定画刷另外在图形的填充时也需要使用画刷同时画笔也可以基于画刷来创建。使用Brush类表示这是一个抽象类不能直接用来创建画刷实例。在NET框架中提供了一些派生类可以使用它们来创建画刷对象。在SystemDrawing命名空间中定义了两个最基本的画刷:SolidBrush和TextureBrush。其他的种用于更高级的效果在SystemDrawingDrawingD命名空间中可以找到。SolidBrush类使用一种纯色来填充区域创建方法SolidBrushskyBrush=newSolidBrush(ColorBlue)只有一个Color属性用于获取或设置画刷颜色。TextureBrush类使用一个图像来填充区域可以使用整个图像或者仅仅是图像的一部分来构造画刷也可以旋转或按比例调整整个图像来满足要求。构造方法:最简单的就是传入一个图像。如TextureBrushbr=newTextureBrush(“C:imagebmp”)支持多种图像格式(bmpgifjpeg等)。常用属性WrapMode指定这个画笔的换行模式。这是个WrapMode枚举值。WrapMode枚举类型:用于确定这个画刷填充区域的方式。Clamp不平铺画刷图像只显示一次。Tile默认值平铺画刷图像填充整个区域。TileFlipX平铺画刷图像填充整个区域。每隔一列水平反转这个图像。TileFlipY平铺画刷图像填充整个区域。每隔一行垂直反转这个图像。TileFlipXY结合上两个枚举值的行为。HatchBrush类用预定义的阴影图案来填充区域每种阴影模式由两种颜色组成:背景和前景。可以通过这个画刷类来指定这两种颜色和阴影模式的类型。LinearGradientBrush类用一个线性渐变区来填充区域这个画刷使用从一种色调渐变到另一种色调的颜色填充区域。这里画刷中保存了进行渐变的两种颜色。PathGradientBrush类用一个路径渐变区来填充区域。使用一组渐变的颜色来填充区域。与LinearGradientBrush类不同的是这个画刷为渐变区提供了更灵活的形状。标准画刷Brushes类包含了所有标准颜色的画刷Color类中每一个预定义的颜色都在这个类中有一个对应的画刷。这些标准画刷以静态属性保存在Brushes类中可以直接引用。例如BrushbrushRed=BrushesRed系统颜色画刷SystemBrushes类对应Windows的系统颜色这些画刷也做为静态属性在SystemBrushes类中保存。显示文字Windows窗体程序中文字的显示通过Graphics类的DrawingString方法进行。调用这个方法时要指定显示的字符串、使用的字体、使用的画刷以及显示的位置。可以通过创建丰富多彩的画刷来实现文字的特效显示。代码示例Imageimg=ImageFromFile(“samplejpg”)TextureBrushtb=newTextureBrush(img)Fontf=newFont(“隶书”,)Graphicsgg=eGraphicsggDrawString(“VS”,f,tb,,)可以使用StringFormat类型对象来改变文字显示方向作为一个参数放在位置参数后面。设置这个类的FormatFlags属性其值由StringFormatFlags枚举定义。StringFormat类为DrawString和其他方法指定文本布局的选项。具有用于控制格式选项的属性常见的有:Alignment指定水平的文本的对齐方式。是一个StringAlignment枚举值。FormatFlags指定格式化信息。是一个StringFormatFlags枚举值。LineAlignment指定垂直文本(也就是行)的对齐方式。是一个StringAlignment枚举值。StringAlignment枚举类型:指定文本字符串相对于其布局矩形的对齐方式。Center指定文本在布局矩形中居中对齐。Far指定文本远离布局矩形的原点位置对齐。在左到右布局中远端位置是右。在右到左布局中远端位置是左。Near指定文本靠近布局对齐。在左到右布局中近端位置是左。在右到左布局中近端位置是右。StringFormatFlags枚举类型:指定文本字符串的显示和布局信息可以组合使用。DirectionRightToLeft指定文本从右到左排列。DirectionVertical指定文本垂直排列。DisplayFormatControl作为格式符号显示指定的格式字符。FitBlackBox指定任何标志符号的任何部分都不突出边框。在默认情况下需要在边缘处可见时一些标志符号会稍微突出边框。例如在一些字体中当小写斜体的f与边框的最左边对齐时f的下半部分会稍微突出到边框左边缘之左。设置此标记将确保任何绘图都不会超出边框但是将导致文本的相邻行的对齐边缘看上去不齐。LineLimit在格式化的矩形中只布置整行。默认情况下这种布置要继续到文本的结尾为止或者到由于剪辑而不再有可见的行为止看哪一种情况先发生。注意此默认设置允许不是行高整数倍的格式化矩形将最后一行部分地遮住。若要确保看到的都是整行请指定此值并仔细地提供格式化矩形使其高度至少为一个行高。。MeasureTrailingSpaces在默认情况下MeasureString方法返回的边框都将排除每一行结尾处的空格。设置此标记以便在测定时将空格包括进去NoClip允许显示标志符号的伸出部分和延伸到边框外的未换行文本。在默认情况下延伸到边框外侧的所有文本和标志符号部分都被剪裁。NoFontFallback对于请求的字体中不支持的字符禁用回退到可选字体。缺失的任何字符都用缺失标志符号的字体显示通常是一个空的方块。NoWrap在矩形中进行格式化时禁用文本换行。当传递的是点而不是矩形时或者指定的矩形行长为零时已隐含此标记。显示图像使用Image类封装基本的图像操作。Image类是个抽象基类不能直接用来创建对象实例。提供了几个静态方法用来从文件中载入图像如FromFile和FromStream方法支持多种图像文件格式(bmp、jpg和gif等)NET框架提供了几个派生类可以用于创建对象实例Bitmap类:封装了GDI位图(bmp文件格式)可以使用这个类来操作位图。创建位图实例时可以指定位图文件路径名创建的新对象就会自动装入位图然后可以调用Graphics类的DrawImage方法来显示位图。Bitmapbmp=newBitmap(“samplejpg”)thisCreateGraphics()DrawImage(bmp,,)可以在显示图像时进行缩放操作。比如说可以使用一个Rectangle变量来指定位图位置和大小。Rectanglerec=newRectangle(,,,)thisCreateGraphics()DrawImage(bmp,rec)可以只显示部分位图。比如说切取位图的左上角一块然后在目标矩形变量中显示。Clone方法:复制位图GetPixel和SetPixel方法:获取或设置位图中特定像素的颜色SetResolution方法:重新设置位图大小MakeTransparent方法:把指定颜色设置为透明色。Icon类:封装图标。可以在创建图标对象实例时指定图标文件的名称来装入图标然后使用Graphics类的DrawIcon方法来显示图标(可以在这个方法参数中指定显示位置和图标大小)。也可以在显示的时候缩放图标(比如使用一个Rectangle变量)。系统图标:作为静态属性保存在SystemIcons类中有SystemIconsQuestion等。各个系统图标见表。在NET框架的SystemDrawingImaging命名空间中提供了高级的GDI图像处理功能有元数据处理及支持其他图像格式文件等。简单的图形图像编辑器的制作结合前面的绘图基本方法编制一个简单的图形编辑程序。功能有可以通过在PictureBox控件中拖动鼠标来绘制空心的或填充的各种形状可以通过提供的选择设置面板进行功能设置具体实现自定义的变量和一个自定义的DrawShape函数(实现图形的绘制或填充)Form的Load事件初始化绘图类型和画笔颜色BtnSetColor的Click事件设置画笔颜色为选定的颜色BthClear的Click事件用选定的颜色清除绘图区域PictureBox的MouseDown事件记录绘图起点PictureBox的MouseMove事件显示鼠标移动位置PictureBox的MouseUp事件设置绘图终点并开始绘图。图形图像程序的设计比较复杂这里对VSNET的图形图像功能做了比较全面的介绍但也只是提供一个大概的了解具体编程时需要综合运用。

VIP尊享8折文档

用户评价(0)

关闭

新课改视野下建构高中语文教学实验成果报告(32KB)

抱歉,积分不足下载失败,请稍后再试!

提示

试读已结束,如需要继续阅读或者下载,敬请购买!

文档小程序码

使用微信“扫一扫”扫码寻找文档

1

打开微信

2

扫描小程序码

3

发布寻找信息

4

等待寻找结果

我知道了
评分:

/45

图形图像编程GDI+

¥25.0

会员价¥20.0

VIP

在线
客服

免费
邮箱

爱问共享资料服务号

扫描关注领取更多福利