《C#入门经典(中文第四版)》第18章:图形图像程序设计
---------------------------------------------------------------------------------------------------------
System.Drawing 命名空间
A1 ………… Color 结构
A2 ………… KnownColor 枚举
A3 ………… SystemColor 类
A4 ………… SystemBrushes 类
A5 ………… SystemFonts 类
A6 ………… SystemIcons 类
A7 ………… SystemPens 类
A8 ………… TextureBrush 类
A9 ………… Font 类
G1 ………… FontFamily 类
G2 ………… Point 结构
G3 ………… Size 结构
G4 ………… Rectangle 结构
G5 ………… Pen 类
G6 ………… Pens 类
G7 ………… Graphics 类
G8 ………… Image 类
G9 ………… Brushes 类
U1 ………… SolidBrushes 类
U2 ………… ColorTranslator 类
System.Drawing.Drawing2D 命名空间
U2 ………… GraphicsPath 类
U3 ………… AjustableArrowCap 类
U4 ………… HatchBrush 类
U5 ………… LinearGradientBrush 类
System.Drawing.Text 命名空间
U6 ………… InstalledFontCollection 类
---------------------------------------------------------------------------------------------------------
System.Drawing 命名空间
System.Drawing 命名空间提供了对 GDI+ 基本图形功能的访问。
---------------------------------------------------------------------------------------------------------
╔════════╗
╠════╣ 第A1个 ╠══════════════════════════════════════════════════╣
╚════════╝
●·● Color 结构:
1. 表示一种 ARGB 颜色(alpha、红色、绿色、蓝色)。
2. Color属性:
3. Color 方法:
- FromArgb(Int32, Int32, Int32):Color 结构。
- FromArgb(Int32, Int32, Int32, Int32):alpha表示透明度。第一个参数为alpha。
- FromArgb(Int32, Color):从指定的 Color 结构创建 Color 结构,但要使用新指定的 alpha 值。
- FromKnownColor(KnownColor color):Color 结构。
- 指定已知的系统颜色。
4. Color 运算符:
- Equality:测试两个指定的 Color 结构是否等效。“ == ”
- Inequality:测试两个指定的 Color 结构是否不同。“ != ”
private void Button1_Click(System.Object sender, System.EventArgs e)
{
if (this.BackColor == SystemColors.ControlDark)
{
this.BackColor = SystemColors.Control;
}
}
---------------------------------------------------------------------------------------------------------
╔════════╗
╠════╣ 第A2个 ╠══════════════════════════════════════════════════╣
╚════════╝
●·● KnownColor 枚举:
1. 指定已知的系统颜色。
2. KnownColor 属性:
- Desktop:桌面的系统定义颜色。
- Window:窗口的工作区中背景的系统定义颜色。
- Transparent:系统定义的颜色。
---------------------------------------------------------------------------------------------------------
╔════════╗
╠════╣ 第A3个 ╠══════════════════════════════════════════════════╣
╚════════╝
●·● SystemColors 类:
1. SystemColors 类的每个属性都是 Color 结构,这种结构是 Windows 显示元素的颜色。
2. SystemColors 属性:
---------------------------------------------------------------------------------------------------------
╔════════╗
╠════╣ 第A4个 ╠══════════════════════════════════════════════════╣
╚════════╝
●·● SystemBrushes 类:
1. SystemBrushes 类的每个属性都是一个 SolidBrush,它是 Windows 显示元素的颜色。
2. SystemBrushes 属性:
- ActiveBorder:获取 SolidBrush,它是活动窗口边框的颜色。【静态】
- ButtonShadow:获取 SolidBrush,它是三维元素的阴影颜色。 【静态】
---------------------------------------------------------------------------------------------------------
╔════════╗
╠════╣ 第A5个 ╠══════════════════════════════════════════════════╣
╚════════╝
●·● SystemFonts 类:
1. 指定用于在 Windows 显示元素中显示文本的字体。
2. SystemFonts 属性:
- CaptionFont:获取一个用于在窗口标题栏中显示文本的 Font。【静态】
- DefaultFont:获取应用程序可用于对话框和窗体的默认字体。【静态】
---------------------------------------------------------------------------------------------------------
╔════════╗
╠════╣ 第A6个 ╠══════════════════════════════════════════════════╣
╚════════╝
●·● SystemIcons 类:
1. SystemIcons 类的每个属性都是 Windows 系统级图标的 Icon 对象。无法继承此类。
2. SystemIcons 属性:
- Asterisk:获取 Icon 对象,它包含系统星号图标 (WIN32: IDI_ASTERISK)。【静态】
- Error:获取 Icon 对象,它包含系统错误图标 (WIN32: IDI_ERROR)。【静态】
---------------------------------------------------------------------------------------------------------
╔════════╗
╠════╣ 第A7个 ╠══════════════════════════════════════════════════╣
╚════════╝
●·● SystemPens 类:
1. SystemPens 类的每个属性都是一个 Pen,它是 Windows 显示元素的颜色,宽度为 1 个像素。
2. SystemPens 属性:
---------------------------------------------------------------------------------------------------------
╔════════╗
╠════╣ 第A8个 ╠══════════════════════════════════════════════════╣
╚════════╝
●·● TextureBrush 类:
1. TextureBrush 类的每个属性都是 Brush 对象,这种对象使用图像来填充形状的内部。无法继承此类。
2. Texture 构造函数:
- TextureBrush(Image):获取或设置 WrapMode 枚举,它指示此 TextureBrush 对象的换行模式。
- TextureBrush(Image, WrapMode):初始化使用指定的图像和自动换行模式的新 TextureBrush 对象。
- TextureBrush(Image, Rectangle):初始化使用指定图像和边框的新 TextureBrush 对象。
- TextureBrush(Image, WrapMode, Rectangle):初始化使用指定图像、自动换行模式和边框的新 TextureBrush 对象。
3. Texture 属性:
- Image:获取与此 TextureBrush 对象关联的 Image 对象。
- Transform:获取或设置 Matrix 对象的副本,该对象为与此 TextureBrush 对象关联的图像定义局部几何变换。
- WrapMode:获取或设置 WrapMode 枚举,它指示此 TextureBrush 对象的换行模式。
4. Texture 方法:
- ResetTransform:将此 TextureBrush 对象的 Transform 属性重置为单位矩阵。
- RotateTransform:将此 TextureBrush 对象的局部几何变换旋转指定的角度。此方法将旋转添加到变换前。
- ScaleTransform:将此 TextureBrush 对象的局部几何变换缩放指定的倍数。此方法将缩放矩阵添加到变换前。
---------------------------------------------------------------------------------------------------------
╔════════╗
╠════╣ 第A9个 ╠══════════════════════════════════════════════════╣
╚════════╝
●·● Font 类:
1. 定义特定的文本格式,包括字体、字号和字形属性。无法继承此类。
2. Font 构造函数:
- Font(Font, FontStyle): 初始化新 Font,它使用指定的现有 Font 和 FontStyle 枚举。
Font font = new Font(label1.Font, FontStyle.Bold); //在原字体基础上加宽
label1.Font = font;
- Font(FontFamily, Single): 使用指定的大小初始化新 Font。
FontFamily ff = new FontFamily("微软雅黑");
Font font = new Font(ff, 20f);
label1.Font = font; - Font(String, Single):使用指定的大小初始化新 Font。
Font font = new Font("微软简中圆", 40f);
label1.Font = font; - Font(FontFamily, Single, FontStyle): 使用指定的大小和样式初始化新 Font。
FontFamily ff = new FontFamily("微软简中圆");
Font font = new Font(ff, 40f, FontStyle.Italic);
label1.Font = font; - Font(String, Single, FontStyle): 使用指定的大小和样式初始化新 Font。
Font font = new Font("微软简中圆", 40f, FontStyle.Bold);
label1.Font = font;
3. Font 属性:
- Bold:获取一个值,该值指示此 Font 是否为粗体。
- FontFamily:获取与此 Font 关联的 FontFamily。
- Height:获取此字体的行距。
- Italic:获取一个值,该值指示此 Font 是否为斜体。
- Name:获取此 Font 的字体名称。
- Size:获取此 Font 的全身大小,单位采用 Unit 属性指定的单位。
- Strikeout:获取一个值,该值指示此 Font 是否指定贯穿字体的横线。
- Underline:获取一个值,该值指示此 Font 是否有下划线。
- Style:获取此 Font 的样式信息。(返回FontStyle)
---------------------------------------------------------------------------------------------------------
╔════════╗
╠════╣ 第G1个 ╠══════════════════════════════════════════════════╣
╚════════╝
●·● FontFamily 类:
1. 定义有着相似的基本设计但在形式上有某些差异的一组字样。无法继承此类。
2. FontFamily 构造函数:
- FontFamily(String):用指定的名称初始化新 FontFamily。
3. FontFamily 属性:
- Families:返回一个数组,该数组包含与当前图形上下文相关的所有 FontFamily 对象。【静态】
4. FontFamily 方法:
- GetFamilies:返回一个数组,该数组包含指定的图形上下文可用的所有 FontFamily 对象。【静态】
---------------------------------------------------------------------------------------------------------
╔════════╗
╠════╣ 第G2个 ╠══════════════════════════════════════════════════╣
╚════════╝
●·● Point 结构:
1. 表示在二维平面中定义点的、整数 X 和 Y 坐标的有序对。(远离左边的距离,远离上边的距离)
2. Point 属性:
- IsEmpty:
- X:
- Y:
3. Point 方法:
- Point。【静态】
- Point。【静态】
- Point 对象。【静态】
- Size 之后的结果。【静态】
- Point。【静态】
4. Point 运算符:
- Addition:
Point endPoint = startPoint + new Size(140, 150);