首页 > 代码库 > C#GDI+编程基础(二)
C#GDI+编程基础(二)
pen类:绘制指定宽度和样式的直线。使用DashStyle属性绘制几种虚线,可以使用各种填充样式(包括纯色和纹理)来填充Pen绘制的直线,填充模式取决于画笔或用作填充对象的纹理。
创建画笔:
//用指定的颜色实例化一只画笔的方法如下: public Pen(Color); //用指定的画刷实例化一只画笔的方法如下: public Pen(Brush); //用指定的画刷和宽度实例化一只画笔的方法如下: public Pen(Brush , float); //用指定的颜色和宽度实例化一只画笔的方法如下: public Pen(Color, float); //实例化画笔的语句格式如下: Pen pn=new Pen(Color.Blue); //或者 Pen pn=new Pen(Color.Blue,100);
属性成员:
名称 | 说明 |
Alignment | 获取或设置画笔的对齐方式 |
Brush | 获取或者设置画笔的属性 |
Color | 获取或者设置画笔颜色 |
Width | 获取或者设置画笔的宽度 |
Brush类(画刷):是一个抽象的基类,因此他不能被实例化,用它的派生类进行实例化一个画刷对象。
结构组件:
Point类:表示一个具体的点
Size类:表示尺寸(像素为单位)。size结构包含宽度和高度
Rectangle结构:一个构造函数的参数是X坐标,Y坐标,宽度和高度。另外一个构造函数参数是Point和Size。
//用指定的位置和大小初始化Rectangle类的新实例。
public Retangle(Point,Size);
public Rectangle(int,int,int,int);
属性成员:
名称 | 说明 |
Bottom | 底端坐标 |
Height | 矩形高 |
IsEmpty | 测试矩形宽和高是否为0 |
Left | 矩形左边坐标 |
Location | 矩形的位置 |
Right | 矩形右边坐标 |
Size | 矩形尺寸. |
Top | 矩形顶端坐标 |
Width | 矩形宽 |
X | 矩形左上角顶点X坐标 |
Y | 矩形左上角顶点Y坐标 |
风格组件:
Color类:(颜色及透明度),由透明度A 和三基色(RGB)所组成
属性成员:
名称 | 说明 |
A | 获取此Color结构的alpha分量值,取值(0~255)。 |
B | 获取此Color结构的蓝色分量值,取值(0~255)。 |
G | 获取此Color结构的绿色分量值,取值(0~255)。 |
R | 获取此Color结构的红色分量值,取值(0~255)。 |
Name | 获取此Color结构的名称,这将返回用户定义的颜色的名称或已知颜色的名称(如果该颜色是从某个名称创建的),对于自定义的颜色,将返回RGB值。 |
静态方法成员:
名称 | 说明 |
FromArgb | 从四个8位ARGB分量(alpha、红色、绿色和蓝色)值创建Color结构。 |
FromKnowColor | 从指定的预定义颜色创建一个Color结构。 |
FromName | 从预定义颜色的指定名称创建一个Color结构。 |
实例:
//定义一个Bitmap Bitmap myBitmap = new Bitmap("c:\\myimages\\myimg.bmp"); //定义一个颜色变量把在指定位置所取得的像素值存入颜色变量中 Color c = new Color(); //获取此Bitmap中指定像素的颜色 c = myBitmap.GetPixel(10, 10); //将颜色值分解出单色分量值 int r, g, b; r = c.R; g = c.G; b = c.B;
Font类(字体风格):定义特定文本格式,包括字体,字号和字形属性。
创建Font实例:
//"字体名"为Font的FontFamily的字符串表示形式
public Font(string 字体名, float 字号,FontStyle 字形)//字号和字体为可选项
public Font(string 字体名,float 字号)
属性成员:
名称 | 说明 |
Bold | 是否为粗体。 |
FontFamily | 字体成员。 |
Height | 字体高。 |
Italic | 是否为斜体。 |
Name | 字体名称。 |
Size | 字体尺寸。 |
SizeInPoints | 获取此 Font对象的字号,以磅为单位。 |
Strikeout | 是否有删除线。 |
Style | 字体类型。 |
Underline | 是否有下划线。 |
Unit | 字体尺寸单位。 |
重要参数:
GraphicsPaths(路径):表示一系列连续的线条和曲线。
创建路径:
public GraphicsPath(System.Drawing.PointF[] pts, byte[] types, System.Drawing.Drawing2D.FillMode fillMode)
//fillMode 填充方式 point[] 结构数组 types[] 对应点的类型 枚举PathPointType
PathPointType枚举:
名称 | 说明 |
Start | 路径起点 |
Bazier | 默认贝塞尔曲线 |
PathTypeMark | 遮盖点 |
DashMode | 添加椭圆 |
PathMarker | 路径标记 |
CloseSubpath | 子路径终结点 |
Bazier3 | 立体贝塞尔曲线 |
方法成员:
名称 | 说明 |
AddArc | 添加圆弧 |
AddBezier | 添加立方贝塞尔曲线 |
AddClosedCurve | 添加闭合曲线 |
AddEllipse | 添加椭圆 |
AddLine | 添加线段 |
AddPath | 添加路径,bool参数表示是否将添加路径的第一个图形作为当前路径最后一个图形的子成员 |
AddPie | 添加扇形轮廓 |
AddPolygon | 添加多边形 |
AddRectangle | 添加矩形 |
AddString | 添加字符串 |
ClearMarkers | 清除所有标志 |
CloseAllFigures | 闭合所有开放图形 |
CloseFigure | 闭合当前图形 |
Reverse | 反转数组各点顺序 |
Reset | 清空,并做好接收准备 |
StartFigure | 不闭合当前图形就开始新的图形 |
GetBounds | 获得边界(矩形) |
GetLastPoint | 获得最后一个点 |
Regions(组合图形):由矩形和路径组成
创建组合图形:
public Region(System.Drawing.Drawing2D.RegionData rgnData)
public Region(System.Drawing.Drawing2D.GraphicsPath path)
public Region(System.Drawing.Rectangle rect)
public Region(System.Drawing.RectangleF rect)
方法成员:
名称 | 说明 |
Complement | 更新,以包含与参数不相交的部分 |
Exclude | 更新,以仅包含内部以及与参数不想交的部分 |
Union | 更新为与指定参数的并集 |
Xor | 更新为与指定参数的并集与交集的差集 |
Translate | 指定量偏移坐标 |
Intersect | 更新为与指定参数的交集 |
IsInfinite(g) | 测试此region是否在指定g上具有无限内部 |
MakeEmpty | 清空 |
MakeInfinite | 初始化为无限内部 |