




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、图形图像编程GDI+,Zhanghz 2006.12.14,本章要点,本章主要介绍如何使用GDI+(Graphics Device Interface Plus)提供的类显示文字和绘制图形以及一些基本的绘图类,通过几个示例程序来演示介绍的内容 纲要 图片类控件介绍和使用 图像打印技术及与剪贴板的交互 Graphics对象与Paint事件 常用的数据结构、画笔、画刷、文字与图像的显示 图像编辑软件,GDI+,GDI+是Microsoft的新一代的二维图形系统,它完全面向对象。GDI+包括三部分:二维矢量图形绘制、图像处理和文字显示。要在Windows窗体中显示字体或绘制图形必须要使用GDI+。
2、GDI+提供了多种画笔、画刷、图像等图形对象,此外还包括一些新的绘图功能,如Alpha混色、渐变色、纹理、消除锯齿以及使用包括位图在内的多种图像格式。 GDI+使用的各种类大都包含在命名空间System.Drawing中。,图片类控件,图片框控件 用PictureBox类封装,主要用来显示图片。它支持的图像文件格式有bmp、gif、jpeg或图标文件等。 常使用的属性有两个: Image属性:用来设置在图片框控件中显示的图片。可以在属性窗口中设置图片,也可以通过代码来设置。 例如,pictureBox1.Image = System.Drawing.Image.FromFile(“C:wind
3、owswinlogo.gif”); pictureBox1.Image = null; SizeMode属性:用于设置图片图片框显示图像的方式。其属性值在PictureBoxSizeMode枚举类型中定义。,PictureBoxSizeMode枚举类型的常用值 AutoSize:图片框自动把它的大小调整到图像的大小; CenterImage:图像在图片框中居中显示。如果图像大小超过图片框大小则超出的部分将被图片框裁剪掉; Normal:图像从图片框的左上角开始显示,超出部分被裁剪; StretchImage:图像将被拉伸或缩小到图片框的大小; Zoom:图像将被放大来适合图片框大小。 图片框主
4、要用于显示静态图像,一般不进行事件处理。常用的有Click和DoubleClick事件。,图像列表控件 用ImageList类封装,可以利用这个控件来保存一些图像,图像格式可以为bmp、gif和jpg等。其他的控件(如ListView、TreeView和ToolStrip等)就可以使用这些图像。 Images属性:包含图像列表控件中的图像,这是一个集合属性。对它的设置最好的方法是通过属性窗口中Images属性打开“图像集合编辑器”对话框来进行添加和删除等操作。 ImageSize属性:指定列表中的图像大小。 例如,imageList1.ImageSize = new System.Drawin
5、g.Size(16,16);,ColorDepth属性:用于设置图像的颜色深度(使用几位数据来表示一种颜色)。其属性值在枚举类型ColorDepth中定义,其常用值有: Depth16Bit:16位颜色; Depth24Bit:24位颜色; Depth32Bit:32位颜色; Depth4Bit:4位颜色(16色); Depth8Bit:8位颜色(256色)。 TransparentColor属性:设置图像列表中图像的透明色。 例如,设置透明颜色为白色 imageList1.TransparentColor = System.Drawing.Color,White; 一般不需要对图像列表控件进
6、行事件处理。 示例程序,图像打印技术及与剪贴板的交互,图像打印技术 通过PrintDocument控件和打印对话框等控件的结合使用来实现。主要的技术包括PrintDocument控件的动态建立、事件设置以及图像的打印。 示例 图像与剪贴板的交互 主要通过Clipboard对象提供的SetDataObject和GetDataObject方法来进行数据设置和获取。并通过IDataObject接口提供的GetDataPresent方法判断当前剪贴板的数据格式。这个过程与文本交互类似。 示例,常用的数据结构,在使用GDI+显示文字和绘制图形时,经常要用到一些数据结构,如Size、Point和Recta
7、ngle等。它们在System.Drawing命名空间中定义,都属于值类型(结构类型)。 Point结构 代表Windows窗体应用程序中的一个二维表面上的位置,常用于定义窗体或控件的位置;表示一个点的坐标值,具有以下两种属性: X,定义Point结构的x坐标或者水平位置。 Y,定义Point结构的y坐标或者垂直位置。 初始化方法有4种 Point():空点; Point( int x, int y ):直接指定X坐标和Y坐标初始化;,Point( int dw ):通过一个用32位的整数来初始化,参数的高16位表示Y坐标,低16位表示X坐标。 Point( Size sz ):通过一个Siz
8、e变量来初始化。sz的宽度表示X坐标,高度表示Y坐标。 可通过IsEmpty属性检测Point结构是否为空,为空则返回true。 可以直接对Point变量进行+、=、!=运算以及Point变量与Size值的加减操作。 PointF结构类似Point结构,区别是它的坐标是浮点值。 Point值可以隐式自动转换成PointF值;PointF值转换成Point值,可以通过Point结构包含的3种静态方法: Ceiling,每个坐标值取大于或等于原值的最小整数值; Round,每个坐标值四舍五入取最接近的整数值; Truncate,每个坐标值取小于或等于原值的最大整数值。,Size结构 用于定义Win
9、dows窗体应用程序中的窗口、控件和其他矩形区域的大小。 具有宽度值Width和高度值Height属性,也可以使用IsEmpty属性来检测Size是否为空。 初始化方法 直接指定高度值和宽度值,Size b = new Size( 50,100 ); 通过一个Point变量来初始化, Size a = new Size( new Point(100,20) ); 判断两个Size变量是否相等可以使用其Equals方法,如 size1.Equals( size2 ); SizeF结构与Size结构类似SizeF结构与Size结构。,Rectangle结构 保存一个矩形区域的位置和大小,包含有X、
10、Y、Width、Height、Size属性,还有Top、Bottom、Left、Right等属性返回各边坐标值。 Rectangle的初始化 指定一个Point值和Size值,如 Rectangle c = new Rectangle( point1,size1); 直接指定矩形位置、宽度和高度值,前两个参数指定了矩形左上角的XY坐标值,后两个参数指定矩形的宽度和高度。如 Rectangle d = new Rectangle( left1, top1, width1, height1); 包含的一些方法 Contains方法:确定一个矩形或一个点是否在当前矩形区域内。参数类型可以是Point
11、结构,Rectangle结构和点坐标值。 Union方法:求两个矩形的并集。参数是两个要求并集的矩形,返回一个包含其并集的Rectangle结构。,Intersect方法:求两个矩形的交集。参数为两个求交的矩形,则返回一个表示其交集的Rectangle结构;参数为一个矩形,则获得当前矩形与参数矩形的交集Rectangle,用这个结果替换当前矩形。 可以直接对Rectangle变量进行等于=或不等于!=操作。 正在绘制或操作一个控件的工作区时,常常使用Rectangle结构。 窗体的工作区是位于标题栏(或有菜单栏)下面,且在窗体边界内部的控件的一部分。Form类中有一个ClientRectang
12、le属性,用于获取工作区的位置。如, Rectangle myRect = ClientRectangle; 这里需要注意,状态栏虽然覆盖了工作区,但并没有减少工作区的总大小。在计算一个窗体的可视区域时,要将工作区的大小值减去状态栏的大小。 RectangleF结构:使用SizeF结构和PointF结构。,Graphics对象,在传统的Windows窗口中,使用Device Context,即设备上下文,来进行绘图操作;而在.NET框架的Windows窗体中则使用绘图对象进行绘图操作。 使用System.Drawing命名空间中的Graphics类封装GDI+的绘图对象,在Windows窗体中
13、的所有绘图操作(包括显示文字)都必须通过这个类来进行。Graphics类相当于MFC中的CDC类。 要使用Graphics进行绘图,首先必须获得它的对象实例或是创建一个Graphics对象。最常用的方法是可以通过窗体的Paint事件来获取对象实例,创建对象则通过CreateGraphics方法。,Graphics类提供的许多绘图方法有: Clear方法:使用一种指定的颜色填充整修绘图表面。例如, Graphics g = this.CreateGraphics; g.Clear( this.BackColor ); /用当前控件的背景色填充 绘制方法,一般都有多个重载,第一个参数一般都是绘制画
14、笔Pen类型: DrawClosedCurve:绘制闭合曲线; DrawCurve:绘制曲线; DrawImage:绘制图像;这里没有使用Pen类型的参数,第一个Image参数指定要绘制的图像,第二个及之后的参数指定绘制的位置。 DrawLine:绘制直线;第二个及之后的参数是两个点的表示。 DrawString:在指定位置以指定字体显示字符串。 DrawRectangle和DrawRectangles:绘制一个或多个矩形。,填充方法,一般都有多个重载,第一个参数一般都是填充画刷Brush类型: FillRectangle:填充矩形;第二个参数可以是一个矩形结构或者其他可表示矩形的方式(如Po
15、int+Size)。 FillClosedCurve:填充闭合曲线; FillRegion:填充一个区域。两个参数,第一个指定填充使用的画刷(Brush类型),第二个指定填充区域(Region类型)。 FromImage方法:从参数指定的Image对象创建一个新的Graphics对象。 GetHDC方法:返回与Graphics相关联的设备句柄。 ReleaseHDC方法:释放设备句柄。,Paint事件,所有绘图操作都是通过响应窗体或控件的Paint事件来进行处理的。几乎所有的窗体和控件类都包含这个事件。 Paint事件的代理类型为PaintEventHandler,事件参数类型为PaintEv
16、entArgs。在这个参数中包含了两个在处理Paint事件方面十分重要的属性: ClipRectangle,获取要在其中进行绘画的矩形 。 Graphics,返回一个Graphics类实例,用于输出。 窗体和控件类提供了OnPaint虚拟方法来更方便地处理Paint事件,当触发Paint事件时会自动的调用这个方法。 从Form类或控件类派生新类时,要在新类中覆盖基类提供的OnPaint方法以绘制自己的控件。,在覆盖基类的OnPaint方法时,必须调用基类的OnPaint方法,否则其他绑定到Paint事件上的处理方法将不能调用。 要触发Paint事件,可以通过调用控件类的Invalidate方法
17、,它将使窗体或控件先无效,然后向它们发送绘图消息。 通常调用Invalidate方法不会立即触发Paint事件,要实现立即触发,可以在这个方法后紧接着调用Update方法。例如 this.Invalidate(); this.Update(); Graphics绘图和Paint事件示例程序,使用颜色,.NET框架中的颜色基于4种成分。除了三原色红、绿、蓝外,还有第4种称为alpha的值用于指定颜色的透明度。其中每个成分都是一个字节,在0255之间取值。 在GDI+中,用值类型Color结构来表示颜色。在类和方法中要使用颜色的时候,它们都需要Color结构的一个实例。Color结构中预定义了14
18、1种颜色,它们都使用静态属性来表示。 其中有一种Transparent颜色,其alpha成分设置为0,表示透明颜色 创建Color对象实例的方法 1. 创建Color实例最简单的方法就是通过一个静态属性来返回。如,Color newColor = Color.Red; 2. 可以使用默认的构造函数来创建Color实例,但是所产生的Color对象是纯黑色的,并且不能修改为其他颜色。,3. 通过调用FromArgb静态方法,它有4种版本。 Color sky = Color.FromArgb( 100, 200, 200, 255 ); 参数依次表示alpha成分,红,绿,蓝。 Color sky
19、 = Color.FromArgb( 200, 200, 255 ); 这里缺省了alpha成分,它隐式地设置为它的最大值,生成一种完全不透明的颜色。 Color sky = Color.FromArgb( 100, Color.Blue ); 这里使用一个现有的Color对象实例,只是修改了alpha成分的值。 Color sky = Color.FromArgb( 0 x64C8C8FF ); 使用一个形式为AARRGGBB的组合整数。,4. 通过调用FromKnownColor静态方法,参数为KnownColor枚举类型的值。如 Color sky = Color.FromKnownCo
20、lor(KnownColor.Blue); KnownColor枚举类型:其值包含了Color结构的所有141种颜色以及SystemColors类的26种颜色。 5. 通过调用FromName静态方法,参数是一个字符串,这个字符串必须是KnownColor枚举值的名称。如,Color sky = Color.FromName( “Blue” ); Color属性 具有4个只读属性,可以用于提取颜色的各种成分 A,返回颜色的alpha成分; R,红色成分;G,绿色成分;B,蓝色成分。,其他有用的非静态属性 IsNamedColor,判断颜色值是否在140个命名颜色中; IsKnownColor,
21、判断颜色值是否KnownColor枚举的颜色; IsSystemColor,判断颜色值是否SystemColor类的属性值。 Windows系统使用一些系统范围的颜色,如活动边框的颜色和标题栏颜色等。.NET框架为这些系统颜色提供了一个封装类SystemColors。 各种系统颜色以静态属性的形式保存在这个类中,可以直接通过类名来引用。具体系统颜色见表。 看个颜色使用的例子。,使用字体,在窗体或控件中都包含有Font属性,表示窗体或控件当前使用的字体。在窗体或控件创建时,会使用系统的默认字体值。 字体使用Drawing.Font类封装,通过创建这么个类的实例可以创建新的字体。 在创建时需要指定
22、字体的名称、大小和风格,如果不指定字体风格则将创建常规字体。 Font构造函数 下面语句创建一个12磅的粗体隶书字体。 Font font1 = new Font(“隶书”,12, FontStyle.Bold); 下面语句使用指定的度量单位而不是磅值来创建字体 Font font2 = new Font(“隶书”,12, GraphiUnit.Document); 组合前两个构造函数 Font font3 = new Font(“隶书”,12, FontStyle.Bold, GraphiUnit.Document);,GraphicsUnit枚举类型,用于指定给定数据的度量单位。 Disp
23、lay,将 1/75 英寸指定为度量单位。 Document,将文档单位(1/300 英寸)指定为度量单位。 Inch,英寸。 Millimeter,毫米。 Pixel,设备像素。 Point,打印机点(1/72 英寸)。 World,通用单位。 .NET框架中字体风格使用FontStyle枚举类型定义。其值有以下一些,它们可以组合使用: Bold:设置字体风格为粗体; Italic:设置字体风格为斜体; Regular:常规字体; Strikeout:字体带删除线; Underline:字体带下划线。,一个字体所具有的属性是只读的,修改任何一个属性都将产生一个新的字体。最常用属性有: Bol
24、d,字体是否为粗体; FontFamily,FontFamily枚举值,确定字体的字符集; Height,字体高度; Italic,字体是否为斜体; Size,字体大小; SizeInPoints,字体的磅值,不考虑当前的Unit属性设置; Strikeout,字体是否有删除线; Style,应用于这个字体的所有FontStyle枚举值; Underline,字体是否有下划线; Unit,GraphicsUnit枚举值,确定Height、Width和Size属性使用的单位。 字体示例程序,使用画笔,用Pen类型封装,用于绘制图形。可以使用这个类来创建一个指定颜色、默认宽度的画笔对象。 构造函数
25、 Pen penRed = new Pen(Color.Red); 这里通过参数指定画笔颜色,初始宽度默认为1。 Pen PenRed = new Pen(Color.Red, 10); 参数指定画笔颜色和宽度。 Pen PenRed = new Pen(brushRed); 参数中使用画刷对象来指定画笔的模式。 Pen PenRed = new Pen(brushRed, 5); 参数中使用画刷来指定画笔模式,同时指定宽度。,Pen类型可以动态修改属性,改变属性时不必重新创建Pen对象。Pen类常用属性有: Alignment,指定Pen对象的对齐方式;是一个PenAlignment枚举值。
26、 Brush,获取或设置用于确定此 Pen对象的属性的 Brush对象 ; Color,获取或设置画笔颜色; EndCap,指定线条末端出现的形状。这是一个LineCap枚举值,默认为LineCap.Flat。 LineJoin,指定此 Pen对象绘制的两条连续直线终点之间的联接样式。这是一个LineJoin枚举值。 PenType,获取用此 Pen对象绘制的直线的样式,是一个 PenType枚举值。 StartCap,指定线条起点出现的形状。默认为LineCap.Flat。 Width,获取或设置画笔绘制的线条的宽度。,一些枚举类型(System.Drawing.Drawing2D 命名空间
27、 ) PenAlignment枚举类型:指定相对于理论上、零宽度的线条的 Pen对象的对齐方式。画笔宽度的中点根据这个枚举值相对于所绘制的线条对齐 。 Center,在线条边界的中间画直线。 Inset,在构成一条曲线或者一个图形边界的线条内部画直线。 Left,指定被定位于所绘制的线条的左侧。 Outset,指定被定位于所绘制的线条的外侧。 Right,指定被定位于所绘制的线条的右侧。 LineCap枚举类型:用于指定如何绘制线条的端点。 AnchorMask,一个掩码值,测试LineCap值是否指定了一个锚头帽。 ArrowAnchor,指定箭头状锚头帽;DiamondAnchor,指定菱
28、形锚头帽。 Custom,指定自定义线帽。 Flat,不画帽,默认值;NoAnchor,没有锚,与Flat有同样的效果。 Round,指定圆线帽;RoundAnchor,指定圆锚头帽。 Square,指定方线帽;SquareAnchor,指定方锚头帽。 Triangle,指定三角线帽。,LineJoin枚举类型:指定如何连接连续的线条。 Bevel,指定成斜角的联接。这将产生一个斜角。 Miter,指定斜联接。扩展线条的外界,直到它们相接触。 MiterClipped,指定斜联接。这种方式要受Pen类的MiterLimit属性的限制。 Round,指定圆形联接。这将在两条线之间产生平滑的圆弧。
29、 PenType枚举类型:指定用来填充线条的 Pen对象填充类型 。 HatchFill,指定阴影填充。 LinearGradient,指定线性渐变填充。 PathGradient,指定路径渐变填充。 SolidColor,指定实填充。 TextureFill,指定位图纹理填充。,Pen类的DashStyle属性:设置或获取画笔的风格。其属性值在System.Drawing.Drawing2D命名控件中的DashStyle枚举类型中定义。可取值有: Custom:自定义风格; Dash:划线, DashDot:划线点, DashDotDot:划线点点, Dot:点线, Solid:实线,,Sy
30、stemPens类 Windows系统颜色画笔,用于创建与用户界面和系统颜色相匹配的笔。它的每个静态属性都返回一个Pen对象。 下面这行语句创建一个Pen对象,将它初始化为用户加亮显示文本时首选的颜色。 Pen highlightPen = SystemPens.HighlightText; SystemPens的一些静态属性 Control,控件背景颜色; ActiveCaptionText,活动窗口标题栏的文本颜色; HighlightText,加亮显示的文本颜色; WindowText,窗口的文本颜色; WindowFrame,窗口的图文框颜色。,FromSystemColor静态方法:
31、可以根据作为参数传递给这个方法的一个Color值来创建画笔。如, Pen pen1 = SystemPens.FromSystemColor(SystemColors.Window); 从SystemPens类得到的所有Pen的引用都是1个像素的默认宽度,对它们不能进行修改。如果要使用可选择宽度或类型的画笔,只能使用Pen类来创建。 Pens类 提供了很多预定义颜色的画笔对象,它们以静态属性的形式保存。例如要创建一个红色画笔,可以调用Pens.Red方法。如,Pen pen1 = Pens.Red; Pens类中颜色命名规则与Color类中相同,知道颜色名字则可以直接调用。,使用画刷,显示文字
32、时除了指定字体外,还要指定画刷,另外在图形的填充时也需要使用画刷,同时画笔也可以基于画刷来创建。 使用Brush类表示,这是一个抽象类,不能直接用来创建画刷实例。在.NET框架中提供了一些派生类,可以使用它们来创建画刷对象。 在System.Drawing命名空间中定义了两个最基本的画刷:SolidBrush和TextureBrush。其他的3种用于更高级的效果,在System.Drawing.Drawing2D命名空间中可以找到。 SolidBrush类,使用一种纯色来填充区域; 创建方法 SolidBrush skyBrush = new SolidBrush(Color.Blue); 只
33、有一个Color属性,用于获取或设置画刷颜色。,TextureBrush类,使用一个图像来填充区域; 可以使用整个图像或者仅仅是图像的一部分来构造画刷;也可以旋转或按比例调整整个图像来满足要求。 构造方法:最简单的就是传入一个图像。如, TextureBrush br = new TextureBrush(“C:image1.bmp”); 支持多种图像格式(bmp,gif,jpeg等)。 常用属性 WrapMode,指定这个画笔的换行模式。这是个WrapMode枚举值。 WrapMode枚举类型:用于确定这个画刷填充区域的方式。 Clamp,不平铺,画刷图像只显示一次。 Tile,默认值,平铺
34、画刷图像填充整个区域。 TileFlipX,平铺画刷图像填充整个区域。每隔一列水平反转这个图像。 TileFlipY,平铺画刷图像填充整个区域。每隔一行垂直反转这个图像。 TileFlipXY,结合上两个枚举值的行为。,HatchBrush类,用预定义的阴影图案来填充区域; 每种阴影模式由两种颜色组成:背景和前景。可以通过这个画刷类来指定这两种颜色和阴影模式的类型。 LinearGradientBrush类,用一个线性渐变区来填充区域; 这个画刷使用从一种色调渐变到另一种色调的颜色填充区域。这里画刷中保存了进行渐变的两种颜色。 PathGradientBrush类,用一个路径渐变区来填充区域。
35、 使用一组渐变的颜色来填充区域。与LinearGradientBrush类不同的是,这个画刷为渐变区提供了更灵活的形状。,标准画刷Brushes类 包含了所有标准颜色的画刷,Color类中每一个预定义的颜色都在这个类中有一个对应的画刷。这些标准画刷以静态属性保存在Brushes类中,可以直接引用。 例如,Brush brushRed = Brushes.Red; 系统颜色画刷SystemBrushes类 对应Windows的系统颜色,这些画刷也做为静态属性在SystemBrushes类中保存。,显示文字,Windows窗体程序中文字的显示通过Graphics类的DrawingString方法进
36、行。 调用这个方法时要指定显示的字符串、使用的字体、使用的画刷以及显示的位置。 可以通过创建丰富多彩的画刷来实现文字的特效显示。 代码示例 Image img = Image.FromFile(“sample.jpg”); TextureBrush tb = new TextureBrush(img); Font f = new Font(“隶书”, 72); Graphics gg = e.Graphics; gg.DrawString( “VS2005”, f, tb, 10, 80 ); 可以使用StringFormat类型对象来改变文字显示方向,作为一个参数放在位置参数后面。 设置这个
37、类的FormatFlags属性,其值由StringFormatFlags枚举定义。,StringFormat类为DrawString和其他方法指定文本布局的选项。 具有用于控制格式选项的属性,常见的有: Alignment,指定水平的文本的对齐方式。是一个StringAlignment枚举值。 FormatFlags,指定格式化信息。是一个StringFormatFlags枚举值。 LineAlignment,指定垂直文本(也就是行)的对齐方式。是一个StringAlignment枚举值。 StringAlignment枚举类型:指定文本字符串相对于其布局矩形的对齐方式 。 Center,指定
38、文本在布局矩形中居中对齐。 Far,指定文本远离布局矩形的原点位置对齐。在左到右布局中,远端位置是右。在右到左布局中,远端位置是左。 Near,指定文本靠近布局对齐。在左到右布局中,近端位置是左。在右到左布局中,近端位置是右。,StringFormatFlags枚举类型:指定文本字符串的显示和布局信息 ,可以组合使用。 DirectionRightToLeft,指定文本从右到左排列。 DirectionVertical,指定文本垂直排列。 DisplayFormatControl,作为格式符号,显示指定的格式字符。 FitBlackBox,指定任何标志符号的任何部分都不突出边框。在默认情况下,
39、需要在边缘处可见时,一些标志符号会稍微突出边框。例如,在 一些字体中,当小写斜体的 f 与边框的最左边对齐时,f 的下半部分会稍微突出到边框左边缘之左。设置此标记将确保任何绘图都不会超出边框,但是将导致文本的相邻行的对齐边缘看上去不齐。,LineLimit,在格式化的矩形中只布置整行。默认情况下,这种布置要继续到文本的结尾为止,或者到由于剪辑而不再有可见的行为止,看哪一种情况先发生。注意,此默认设置允许不是行高整数倍的格式化矩形将最后一行部分地遮住。若要确保看到的都是整行,请指定此值,并仔细地提供格式化矩形,使其高度至少为一个行高。 。 MeasureTrailingSpaces,在默认情况下,MeasureString方法返回的边框都将排除每一行结尾处的空格。设置此标记以便在测定时将空格包括进去 NoClip,允许显示标志符号的伸出部分和延伸到边框外的未换行文本。在默认情况下,延伸到边框外侧的所有文本和标志符号部分都被剪裁。 NoFontFallback,对于请求的字体中不支持的字符,禁用回退到可选字体。缺失的任何字符都用缺失标志符号的字体显示,通常是一个空的方块。 NoWrap,在矩形中进行格式化时禁用文本换行。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 企业与私人合同范例
- 二手经营合同范例
- 生物质能源建筑工程合同终止与资源循环利用协议
- 文物保护与修复人才培养基地文物保护专员全职聘用合同
- 草原牧场牧草种植与饲料加工合作合同
- 智能家居物联网技术研发与应用合作合同
- 机场行李分拣系统定期保养及故障排除合同
- 国际会议高效投票系统租赁与全球技术支持合同
- 众筹购车合同范例
- 乌梅饮采购合同标准文本
- 全建筑工程绿色施工技术指导手册
- 完整,沪教版小学四年级英语上册单词表
- 初中常见化合价、化学式及化学方程式
- 医院18项核心制度(2023年)
- 2023年广东省初中生物地理学业考试真题集合试卷及答案高清版
- 静脉输液输液反应课件
- GB/T 18601-2009天然花岗石建筑板材
- 《野蜂飞舞》阅读测试题及答案
- 广东省广州市天河区2023年中考二模化学试题(含解析)
- 《动物王国开大会》说课-优质课件
- 病媒生物监测记录表
评论
0/150
提交评论