C# 《WinForm程序设计与实践》 第9章 GDI+

本文介绍了C#中WinForm应用的GDI+,包括GDI+概述,辅助绘图对象如Point、Size、Rectangle、Color,以及基本绘图工具Pen和Brush的使用。通过实例展示了如何生成和验证验证码图像。
摘要由CSDN通过智能技术生成

9 GDI+

 

9.1 GDI+概述

GDI(Graphic Device Interface,图像设备接口)是早期Windows操作系统的一个可执行,位于C:\\Windows\System32文件夹中,文件名为GDI.exe。GDI+ 是GDI的升级版本,提供了各种丰富的图形图像处理功能,统一在.Net Framework中封装和定义。

 

在.Net Framework中,GDI+ 被封装在如下几个命名空间中。

(1)System.Drawing: 提供了对GDI+基本图形功能的访问,其中Graphics类是整个GDI+的核心,能够绘制线条、曲线、图形、图像文本的画面。其他类需要和Graphics类配合使用。在System.Drawing中,常见的类与结构如下表所示:

表9-1 GDI+常用的类与结构说明

类或结构

说明

Graphics

封装一个GDI+绘图图面

Bitmap

封装GDI+位图,用于处理由像素数据定义的图像的功能

Brush

用于创建画笔对象,以填充图形的内部

Font

定义特定的文本格式,包括字体、字号和字形属性

Pen

定义用于绘制直线曲线的钢笔对象

Region

指示由矩形和由路径构成的图形形状的内部

SolidBrush

定义单色画笔

StringFormat

封装文本布局信息、显示操作和OpenType功能

Color

表示一种ARGB颜色(alpha、红色、绿色、蓝色)

Point

表示在二维平面中定义点的整数x和y坐标的有序对

PointF

表示在二维平面中定义点的浮点x和y坐标的有序对

Rectangle

存储一组整数,共4个,表示一个矩形的位置和大小

Size

存储一个有序整数对,通常为矩形的宽度和高度

SizeF

存储有序浮点数对,通常为矩阵的宽度和高度

ARGB与RGB、RGBA的区别

https://blog.csdn.net/caption_deng/article/details/52366907 

(2) System.Drawing.Drawing2D: 提供了高级的二维和矢量图形功能,主要有梯度型画刷、Matirx类和GraphicsPath类等。

(3) System.Drawing.Image: 提供了高级GDI+图形处理功能。

(4) System.Drawing.Text: 提供了高级GDI+字体和文本排版功能。

 

 

Windows操作系统的GDI+服务分为以下3个主要部分

(1) 二维矢量图形

矢量图形由图元(如线条、曲线和图形)组成,它们由一系列坐标系统的点集组成。GDI+提供了用于存储这些图元本身信息的类或结构体,也提供了绘制图元的类。例如,Rectangle结构体存储了一个矩形的尺寸位置;Pen类存储线条颜色、线条宽度,以及线条样式等信息;Graphics类提供绘制线条、矩形、路径和其它图形的方法;而Brush类存储了在闭合图形内部填充颜色和图案的信息。

(2) 图形处理

有些图片很难用矢量图形表示,这种类型的图像采用位图进行存储,即由表示屏幕上独立点颜色的数字型数组所组成。GDI+中提供了若干种类,可实现快速存取和显示。例如,CachedBitmap类可用于存储一张缓存在内存中的图片。

(3) 图文混排

图文混排是文字处理或绘图软件的基础功能,关系到文字以何种字体、尺寸和样式在绘图区域中的具体显示和控制,GDI+为这种复杂的任务提供广泛的支持。

 

9.2 绘图对

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值