前言 1
第1章 C#程序设计基础 1
1.1 C#语言概述 1
1.1.1 C#引出 1
目录 1
1.1.2 C#和Java 2
1.2 C#语言的特点 3
1.2.1 语法简洁 4
1.2.2 面向对象 4
1.2.3 与Web紧密结合 4
1.2.5 版本控制 5
1.2.6 灵活性和兼容性 5
1.2.4 完全的安全性与错误处理 5
1.3 值类型 6
1.3.1 整数类型 6
1.3.2 布尔类型 7
1.3.3 实数类型 7
1.3.4 字符类型 8
1.3.5 结构类型 8
1.3.6 枚举类型 10
1.4 C#的引用类型 10
1.4.1 类 10
1.4.2 代表 12
1.4.3 数组 13
1.5 装箱和拆箱 14
1.5.1 装箱转换 14
1.6 C #流程控制 15
1.5.2 拆箱转换 15
1.6.1 条件语句 16
1.6.2 switch语句 17
1.6.3 循环语句 19
1.7 本章小结 23
1.8 动手试试 24
第2章 GDI+编程基础 25
2.1 GDI+体系 25
2.2 GDI+的新特色 26
2.3 从GDI编程到GDI+编程 28
2.3.1 有关设备环境句柄的概念 28
2.3.2 画刷、路径、图像、字体当作参数 29
2.3.4 关于当前位置 30
2.3.5 关于绘制与填充 30
2.3.3 关于函数的重载 30
2.3.6 关于区域的操作 31
2.4 GDI+编程基本操作 31
2.4.1 构造Graphics对象 31
2.4.2 绘制直线、矩形、曲线和多边形 33
2.4.3 使用GDI+填充区域 44
2.4.4 在GDI+中使用色彩 46
2.4.5 在GDI+中进行文本输出 50
2.5 本章小结 52
2.6 动手试试 52
第3章 画笔和画刷 53
3.1 在GDI+中使用画笔 53
3.1.1 画笔的线型 55
3.1.2 画笔的对齐方式 56
3.1.3 画笔的缩放、旋转 58
3.1.4 画笔的线帽属性 59
3.1.5 直线连接点属性 63
3.1.6 画笔的透明度支持 66
3.2 在GDI+中使用画刷 67
3.2.1 单色画刷的使用 68
3.2.2 影线画刷的使用 71
3.2.3 纹理画刷的使用 76
3.2.4 纹理画刷的排列方式 79
3.2.5 纹理画刷的变换 81
3.2.6 线性渐变画刷 84
3.2.7 渐变画刷的不同填充方式 87
3.2.8 使用渐变画刷的渐变模式 90
3.2.9 理解渐变画刷的渐变线 92
3.2.10 多色线性渐变画刷的实现 95
3.2.11 定制线性渐变画刷的色彩渐变行为 98
3.2.12 启用线性渐变画刷的Gamma校正 102
3.2.13 路径渐变画刷 103
3.2.14 路径渐变画刷的排列方式 109
3.2.15 更改路径渐变画刷的中心点 113
3.2.16 路径渐变画刷的多色渐变 115
3.2.17 更改路径渐变画刷的焦点缩放比例 116
3.2.18 路径渐变画刷的变换 120
3.3 本章小结 121
3.4 动手试试 122
第4章 文本和字体 123
4.1 在GDI+中使用字体 123
4.1.1 理解字体系列 125
4.1.2 使用GDI+字体 126
4.1.3 列举出系统目前已经安装的字体信息 129
4.1.4 定制增强性字体选择对话框 131
4.1.5 字体轮廓的平滑处理 136
4.1.6 创建私有字体集合 140
4.1.7 获取字体(系列)尺寸 148
4.1.8 定制文本输出基线 153
4.2 在GDI+中输出文本 155
4.2.1 测量字符串 156
4.2.2 文本的分栏显示 160
4.2.3 字符串的去尾 162
4.2.4 文本的剪裁输出 165
4.2.5 测量文本的局部输出区域 166
4.2.6 格式化文本输出 170
4.2.7 控制文本输出方向 171
4.2.8 设置文本对齐方式 172
4.2.9 使用制表位 176
4.2.10 快捷键前导字符显示 180
4.2.11 使用单色画刷绘制文本 182
4.2.12 使用影线画刷绘制文本 183
4.2.13 使用纹理画刷绘制文本 184
4.2.14 使用渐变画刷绘制文本 185
4.3 本章小结 187
4.4 动手试试 188
第5章 路径和区域 189
5.1 在GDI+中使用图形路径 190
5.1.1 在GDI中使用路径 190
5.1.2 在GDI+中定义路径 190
5.1.3 向路径中添加几何图形 193
5.1.4 开放的图形与封闭的图形 195
5.1.5 路径的填充 196
5.1.6 添加子路径 197
5.1.7 子路径信息的提取 199
5.1.8 访问路径的点信息 202
5.1.9 访问路径的点类型信息 204
5.1.10 标记路径区间 209
5.1.11 路径的外观修改 213
5.1.12 路径的扭曲 215
5.1.13 路径的拓宽与路径轮廓的提取 218
5.1.14 深入理解路径变换的原理 220
5.2 在GDI+中使用区域 223
5.2.1 区域的构造 223
5.2.2 区域的计算 224
5.2.3 区域的矩形表示 229
5.2.4 区域的命中测试 230
5.4 动手试试 233
5.3 本章小结 233
第6章 GDI+的坐标变换 234
6.1 变换的基础 235
6.2 几种基本的简单矩阵变换 236
6.3 GDI+中的坐标系统 237
6.4 绘图平面的简单矩阵变换 241
6.4.1 绘图平面的平移变换 241
6.4.2 绘图平面的旋转变换 243
6.4.3 平移变换与旋转变换的具体运用 244
6.4.4 绘图平面的缩放变换 247
6.5 变换在文字特效处理中的运用 250
6.5.1 文本旋转输出 250
6.5.2 文本的镜像输出 253
6.6.1 使用Matrix类表示矩阵变换 255
6.6 对绘图平面实施复杂的坐标变换 255
6.6.2 矩阵的前置与后缀 258
6.6.3 逆矩阵在变换中的运用 261
6.6.4 矩阵的复合变换 263
6.6.5 使用矩阵批量修改点信息 265
6.6.6 二阶矩阵运算 269
6.6.7 矩阵的旋转 270
6.6.8 矩阵的投射变换 272
6.6.9 使用矩阵变换实现文本的异形输出 274
6.7 本章小结 278
6.8 动手试试 279
第7章 GDI+的色彩变换 280
7.1 色彩变换基础 280
7.2 色彩的几种运算方式 284
7.2.1 色彩的平移运算 285
7.2.2 色彩的缩放运算 287
7.2.3 色彩的旋转运算 289
7.2.4 色彩的投射运算 294
7.3 色彩的映射 296
7.4 使用色彩变换矩阵实现RGB输出通道 297
7.5 本章小结 300
7.6 动手试试 300
第8章 图像的基本处理 301
8.1 图像、位图和元文件基础 301
8.2 图像的基本操作 303
8.2.1 图像的打开与显示 303
8.2.2 GDI+对图元文件的支持 306
8.2.3 图像的剪裁与缩放 313
8.2.4 使用插补模式来控制图形缩放质量 314
8.2.5 图片的简单旋转 316
8.2.6 图片的反射(Reflecting)和倾斜(Skewing) 318
8.2.7 在GDI+中使用缩略图 320
8.2.8 在GDI+中使用图片克隆功能 322
8.2.9 在GDI+中对图片进行局部缩放 323
8.3 本章小结 325
8.4 动手试试 325
第9章 图像色彩信息的调整 327
9.1 色彩校正基础 327
9.2 色彩校正的启用与禁用 329
9.3 设置不同的色彩调整对象 331
9.4 使用色彩配置文件调整色彩信息 337
9.5 图像的Gamma曲线校正 339
9.6 设置图片色彩输出通道 341
9.7 使用图片的关键色进行图片显示 344
9.8 GDI+对阈值的支持 346
9.9 图像调色板信息的调整 347
9.10 设置色彩校正的环绕模式和颜色 350
9.11 本章小结 352
9.12 动手试试 352
第10章 图形的编码与解码 353
10.1 图形格式基础 353
10.2 认识编码与解码 354
10.2.1 PNG文件的特点 354
10.2.2 PNG文件的组成 355
10.2.3 PNG文件数据块结构 356
10.3 获取图形文件编码器信息 358
10.4 获取图形文件解码器及编码参数信息 364
10.4.1 列出系统可用的图片解码器信息 364
10.4.2 图形文件编码参数的处理 365
10.4.3 获取指定图像格式的编码类标识函数 367
10.4.4 有关编码参数的还原 370
10.4.5 编码器使用基础 373
10.4.6 将BMP文件保存为JPG文件 376
10.4.7 GDI+对JPEG的额外关注 378
10.4.8 多帧图片的保存 382
10.4.9 从多帧图片文件中读取子图片 384
10.5 图像属性信息的获取 386
10.6 本章小结 391
10.7 动手试试 392
第11章 GDI+图形特技处理编程 393
11.1 使用GDI+实现图形的淡入淡出效果 393
11.2 GDI+在图像灰度化及伪彩色处理方面的应用 395
11.3.1 底片(负片)滤镜的制作 400
11.3 GDI+在图像滤镜制作方面的运用 400
11.3.2 浮雕及雕刻效果的编程处理 402
11.3.3 油画效果的处理 404
11.3.4 木刻效果的处理 406
11.3.5 强光照射滤镜 407
11.3.6 图像的柔化与锐化处理 409
11.4 本章小结 412
11.5 动手试试 412
附录A 绘图平面类函数(属性)列表 413
附录B GDI+画笔、画刷类函数(属性)列表 416
附录C GDI+文本及字体类函数(属性)列表 419
附录D GDI+图形路径类函数(属性)列表 422
附录E GDI+图像类函数(属性)列表 424
附录F GDI+中所有的枚举列表 426