460 likes | 759 Views
第8章 GDI+. .NET Framework 2.0 程序设计. 第 1 章 : .NET Framework 2.0 简介 第 2 章:公共语言运行库和类型 第 3 章:托管代码的编译和执行 第 4 章:委托和事件 第 5 章:读取和写入文件 第 6 章:集合和泛型 第 7 章:数据的序列化 第 8 章: GDI+ 第 9 章 : 在 .NET Framework 2.0 中实现加密. 第 10 章: COM 组件与 .NET Framework 程序集之间的交互操作
E N D
.NET Framework 2.0 程序设计 第 1 章: .NET Framework 2.0简介 第 2 章:公共语言运行库和类型 第 3 章:托管代码的编译和执行 第 4 章:委托和事件 第 5 章:读取和写入文件 第 6 章:集合和泛型 第 7 章:数据的序列化 第 8 章:GDI+ 第 9 章:在 .NET Framework 2.0中实现加密 第 10 章: COM 组件与.NET Framework程序集之间的交互操作 第 11 章:使用类型元数据 第 12 章:创建多线程应用程序和应用程序域 第 13 章:代码访问安全性 第 14 章:监视和调试应用程序 第 15 章:使用服务应用程序和电子邮件消息 第 16 章:创建全球化应用程序 第 17 章:配置和安装程序集
本章学习目标: 使用Graphics、Pen、Brush和 Font 类以及Color类型来创建图形对象 使用Point 和Size 类型来操作图形对象的形状和大小 使用 Image、Bitmap和 Icon类向绘制表面添加图像和图标 目标
第8章 GDI+ • 使用图形、画笔、钢笔、颜色和字体 • 操作图形对象的形状和大小 • 使用图像、位图和图标 • 小结 • 实验 • 习题
使用图形、画笔、钢笔、颜色和字体 8.1 使用图形、画笔、 钢笔、颜色和字体 GDI+结构 代码示例VB 代码示例C#
. 图形设备接口(GDI+) 使用 Graphics 类创建绘制表面 使用Pen 类绘制直线 使用Brush类为图形对象填充颜色 使用Color类型为图形对象应用颜色 使用 Font 类在绘图表层写入文本 使用图形、画笔、钢笔、颜色和字体 (续) 8.1 使用图形、画笔、 钢笔、颜色和字体
图形设备接口 8.1.1 图形设备接口 GDI+结构
. Graphics 类 BufferedGraphics类 BufferedGraphicsManager 类 使用 Graphics 类创建一个绘制表面 使用 Graphics 类创建绘制表面 8.1.2 使用 Graphics 类 创建绘制表面 代码示例C# 代码示例VB
. 使用Pen 类绘制直线 8.1.3 使用Pen 类绘制直线 Pen类的最常用的成员
. 通过使用Pen 类绘制直线 (续) 8.1.3 通过使用Pen 类绘制直线 续表:
. 使用Pen 类绘制直线 (续) 8.1.3 使用Pen 类绘制直线 续表:
. 使用Pen 类绘制直线 (续) 8.1.3 使用Pen 类绘制直线 续表
. 使用Brush类为图形对象填充颜色 8.1.4 使用Brush类为 图形对象填充颜色 Brush 类 SolidBrush 类 TextureBrush 类 Brushes 类 SystemBrushes 类 代码示例VB
. Brush 类 1. Brush 类 Brush 类的方法
. 将颜色传递给SolidBrush类的构造函数 调用该类的 Color属性 使用Brushes类的某个属性 使用SystemBrushes类的某个属性 SolidBrush 类 2. SolidBrush 类 SolidBrush类使用单色填充矩形或椭圆等图形对象,而你可以使用如下某个方法来指定单色:
TextureBrush 类 3. TextureBrush 类 TextureBrush类使用图像来填充图形对象 。你可以通过如下方法使用某种模式(例如clamp或各种形式的平铺)的图像来填充某个形状: • 将 Image类的对象传递给TextureBrush 类的构造函数 • 或者将Image类的对象对象赋给 TextureBrush类的Image属性 • 用TextureBrush类的WrapMode 属性定义图像填充的模式 代码示例C# 代码示例VB
Brushes 类 4. Brushes 类 Brushes类拥有一些静态属性,这些属性都将返回表示特定颜色的SolidBrush类的对象。 尽管 Brushes 类为创建特定颜色的 SolidBrush类对象而提供了一种简单便捷的方法,但只能在你明确知道使用哪种颜色的时候才能使用此方法。
SystemBrushes 类 5. SystemBrushes 类 SystemBrushes类与Brushes类工作方式类似,但SystemBrushes类只创建表示系统颜色的 SolidBrush 类的对象。 与 Brushes类相似,SystemBrushes类的属性也静态的。
. Color结构 ColorConverter 类 ColorTranslator 类 SystemColors类 使用Color类型为图形对象应用颜色 8.1.5 使用Color类型 为图形对象应用颜色 在Microsoft .NET Framework中,可以使用如下三种方式来指定颜色: (1)颜色名称 (2)十六进制值 (3)ARGB值 代码示例C# 代码示例VB
Color结构 1. Color结构 Color 结构的成员
Color结构(续) 1. Color结构 续表:
ColorConverter 类 2. ColorConverter 类 ColorConverter类的成员
ColorTranslator 类 3. ColorTranslator 类 ColorTranslator 类的成员
SystemColors类 4. SystemColors类 SystemColors 类成员
FontFamily Font StringFormat SystemFonts FontConverter 使用 Font 类在绘图表层写入文本 8.1.6 使用 Font 类在 绘图表层写入文本 下面描述了各种Font类: 示例代码C# 示例代码VB
使用图形、画笔、钢笔、颜色和字体 操作图形对象的形状和大小 使用图像、位图和图标 小结 实验 习题 第8章 GDI+
使用 Rectangle 类型绘制图形形状 Rectangle 结构 RectangleConverter 类 Region 类 使用 Point 和 Size 类型指定对象大小 操作图形对象的形状和大小 8.2 操作图形对象的形状和大小 代码示例C# 代码示例VB
Rectangle 结构 1. Rectangle 结构 Rectangle 结构的成员
Rectangle 结构 (续) 1. Rectangle 结构 续表:
RectangleConverter 类 2.RectangleConverter 类 将矩形的字符串值转换为 Rectangle 对象是使用 RectangleConverter 类的最简单的示例,同时也是最常用的方法。
Region 类 3. Region 类 Region 类的方法
Region 类 (续) 3. Region 类 续表:
Point 结构 PointConverter 类 Size 结构 SizeConverter 类 使用 Point 和 Size 类型指定对象大小 8.2.2 使用 Point 和 Size 类型指定对象大小 .NET Framework 提供了 Point 和 Size 结构以及 PointConverter 和 SizeConverter 类来管理几何形状的点、位置和大小。
使用图形、画笔、钢笔、颜色和字体 操作图形对象的形状和大小 使用图像、位图和图标 小结 实验 习题 第8章 GDI+
使用图像、位图和图标 8.3 使用图像、位图和图标 GDI+ 类型应该用于创建动态性质的图形。 • 通过使用 Image 和 Bitmap 类将图像添加到绘制区域 • 使用 Icon 类将图标插入绘制表面
将图像添加到绘制区域 8.3.1 使用 Image 和 Bitmap 类将图像添加到绘制区域 .NET Framework 提供了 Image、Bitmap、ImageConverter 和 ImageAnimator 类来创建和管理各种类型的图形和图像。 • Image 类用于表示特定类型的图像 • 位图图像由 Bitmap 类管理,Bitmap 类继承自 Image 类 • ImageConverter 类的功能等同于 GDI+ 提供的其他 Converter 类 • ImageAnimator类
使用 Icon 类将图标插入绘制表面 8.3.2 使用 Icon 类将图标 插入绘制表面 Icon 类的常用成员 代码示例C# 代码示例VB
使用图形、画笔、钢笔、颜色和字体 操作图形对象的形状和大小 使用图像、位图和图标 小结 实验 习题 第8章 GDI+
小结 8.4 小结 本章介绍了GDI+。GDI+对应System.Drawing命名空间下的类。GDI+的核心是Graphics类,它就像一张纸,任何绘图操作都在Graphics对象上进行。
使用图形、画笔、钢笔、颜色和字体 操作图形对象的形状和大小 使用图像、位图和图标 小结 实验 习题 第8章 GDI+
实验 8.5 实验 参照实验手册,并在教师指导下完成实验报告。
使用图形、画笔、钢笔、颜色和字体 操作图形对象的形状和大小 使用图像、位图和图标 小结 实验 习题 第8章 GDI+
习题 8.6 习题 1. 你使用 .NET Framework 创建了一个 Windows 应用程序,你希望其中出现的图形具有阴影背景,并在图形区域的周围绘制了一个矩形以用作边框。你应该怎么做? 请选择一个最佳答案。 A.声明一个标识阴影背景大小的 Size 结构,并使用 Brush 类的对象填充此区域 B.声明一个标识阴影背景大小的 Point 结构,并用 Brush 类的对象填充此背景 C.声明一个标识阴影背景大小的 Rectangle 类对象,并使用 Brush 类对象填充此矩形 D.声明一个标识阴影背景大小的 Region 类对象,并使用 Brush 类对象填充此区域
习题(续) 8.6 习题 2. 你创建了一个显示各种大小的形状的应用程序,其中,这些形状将表示该组织中员工的投票结果。由于投票结果会更改,所以显示的形状也需要调整大小。此时,你将使用 Size 结构执行下列哪些步骤来调整形状的大小? 请选择所有符合条件的答案。 A.调整 Height 属性 B.创建一个 SizeConverter 类对象并调用 FromString 方法 C.调整 Width 属性 D.使用 Subtract 方法 E.使用 Add 方法 F.调整 IsEmpty 属性
习题(续) 8.6 习题 3. 你使用.NET Framework创建了一个Windows应用程序。此应用程序要动画显示Gif文件。如果要更新帧,你应该使用下面的哪个方法? 请选择一个最佳答案。 A.ImageAnimator.Animate B.ImageAnimator.UpdateFrames C.ImageAnimator.CanAnimate D.ImageAnimator.StopAnimate
习题(续) 8.6 习题 4. 你使用.NET Framework创建了一个Web应用程序。它允许用户上传Word和Excel文件。下面哪个Icon类的方法能使你的应用程序显示Word和Execl的图标? 请选择一个最佳答案。 A.Icon.Handle B.Icon.ExtractAssociatedIcon C.Icon.FromHandle D.Icon.ToBitmap