Graphics详解
Graphics类包含在System.Drawing名称空间下,Graphics对象表示GDI+绘图表面,是用于创建图形图像的对象。创建要绘制的图形对象,需要先创建 Graphics对象,然后才可以使用GDI+绘制线条和形状、呈现文本或显示与操作图像。
处理图形包括两个步骤:创建Graphics对象和使用Graphics对象绘制线条和形状、呈现文本或显示与操作图像。
1.创建 Graphics 对象
在ASP.NET中可以从任何由Image类派生的对象创建Graphics对象。通过调用System.Drawing.Graphics.FromImage(System.Drawing.Image)方法,提供要从其创建 Graphics对象的Image变量的名称,代码如下:
| Bitmap bitmap = new Bitmap(80, 80); Graphics g = Graphics.FromImage(bitmap); |
获得图形对象引用之后,即可绘制对象、给对象着色并显示对象。
2.使用Graphics对象绘制线条和形状、呈现文本或显示与操作图像
使用Graphics对象绘制线条和形状、呈现文本或显示与操作图像,所用到的属性和方法如表所示。
表 Graphics类的属性及属性说明
| 名称 | 说明 |
| Clip | 获取或设置 Region,该对象限定此 Graphics 的绘图区域。 |
| ClipBounds | 获取一个 RectangleF 结构,该结构限定此 Graphics 的剪辑区域。 |
| CompositingMode | 获取一个值,该值指定如何将合成图像绘制到此 Graphics。 |
| CompositingQuality | 获取或设置绘制到此 Graphics 的合成图像的呈现质量。 |
| DpiX | 获取此 Graphics 的水平分辨率。 |
| DpiY | 获取此 Graphics 的垂直分辨率。 |
| InterpolationMode | 获取或设置与此 Graphics 关联的插补模式。 |
| IsClipEmpty | 获取一个值,该值指示此 Graphics 的剪辑区域是否为空。 |
| IsVisibleClipEmpty | 获取一个值,该值指示此 Graphics 的可见剪辑区域是否为空。 |
| PageScale | 获取或设置此 Graphics 的全局单位和页单位之间的比例。 |
| PageUnit | 获取或设置用于此 Graphics 中的页坐标的度量单位。 |
| PixelOffsetMode | 获取或设置一个值,该值指定在呈现此 Graphics 的过程中像素如何偏移。 |
| RenderingOrigin | 为抵色处理和阴影画笔获取或设置此 Graphics 的呈现原点。 |
| SmoothingMode | 获取或设置此 Graphics 的呈现质量。 |
| TextContrast | 获取或设置呈现文本的灰度校正值。 |
| TextRenderingHint | 获取或设置与此 Graphics 关联的文本的呈现模式。 |
| Transform | 获取或设置此 Graphics 的世界变换。 |
| VisibleClipBounds | 获取此 Graphics 的可见剪辑区域的边框。 |
表 Graphics类的方法及方法说明
| 名称 | 说明 |
| AddMetafileComment | 向当前 Metafile 添加注释。 |
| BeginContainer | 保存具有此 Graphics 的当前状态的图形容器,然后打开并使用新的图形容器。可重载。 |
| Clear | 清除整个绘图面并以指定背景色填充。 |
| CopyFromScreen | 执行颜色数据从屏幕到 Graphics 的绘图图面的位块传输。可重载。 |
| CreateObjRef | 创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。 (从 MarshalByRefObject 继承。) |
| Dispose | 释放由Graphics使用的所有资源。 |
| DrawArc | 绘制一段弧线,它表示由一对坐标、宽度和高度指定的椭圆部分。可重载。 |
| DrawBezier | 绘制由4个Point 结构定义的贝塞尔样条。可重载。 |
| DrawBeziers | 用 Point 结构数组绘制一系列贝塞尔样条。可重载。 |
| DrawClosedCurve | 绘制由 Point 结构的数组定义的闭合基数样条。可重载。 |
| DrawCurve | 绘制经过一组指定的 Point 结构的基数样条。可重载。 |
| DrawEllipse | 绘制一个由边框(该边框由一对坐标、高度和宽度指定)定义的椭圆。可重载。 |
| DrawIcon | 在指定坐标处绘制由指定的 Icon 表示的图像。可重载。 |
| DrawIconUnstretched | 绘制指定的 Icon 表示的图像,而不缩放该图像。 |
| DrawImage | 在指定位置并且按原始大小绘制指定的 Image。可重载。 |
| DrawImageUnscaled | 在由坐标对指定的位置,使用图像的原始物理大小绘制指定的图像。可重载。 |
| DrawImageUnscaled AndClipped | 在不进行缩放的情况下绘制指定的图像,并在需要时剪辑该图像以适合指定的矩形。 |
| DrawLine | 可重载。绘制一条连接由坐标对指定的两个点的线条。 |
| DrawLines | 可重载。绘制一系列连接一组Point结构的线段。 |
| DrawPath | 绘制GraphicsPath。 |
| DrawPie | 可重载。绘制一个扇形,该形状由一个坐标对、宽度、高度以及两条射线所指定的椭圆定义。 |
| DrawPolygon | 可重载。绘制由一组 Point 结构定义的多边形。 |
| DrawRectangle | 可重载。绘制由坐标对、宽度和高度指定的矩形。 |
| DrawRectangles | 绘制一系列由 Rectangle 结构指定的矩形。可重载。 |
| DrawString | 在指定位置并且用指定的Brush 和Font对象绘制指定的文本字符串。可重载。 |
| EndContainer | 关闭当前图形容器,并将此Graphics的状态还原到通过调用BeginContainer方法保存的状态。 |
| EnumerateMetafile | 将指定Metafile中的记录逐个发送到回调方法以在指定的点处显示。可重载。 |
| Equals | 已重载。 确定两个 Object 实例是否相等。 (从 Object 继承。) |
| ExcludeClip | 更新此Graphics的剪辑区域,以排除Rectangle结构所指定的区域。可重载。 |
| FillClosedCurve | 填充由 Point 结构数组定义的闭合基数样条曲线的内部。可重载。 |
| FillEllipse | 填充边框所定义的椭圆的内部,该边框由一对坐标、一个宽度和一个高度指定。可重载。 |
| FillPath | 填充 GraphicsPath 的内部。 |
| FillPie | 填充由一对坐标、一个宽度、一个高度以及两条射线指定的椭圆所定义的扇形区的内部。可重载。 |
| FillPolygon | 可重载。 填充 Point 结构指定的点数组所定义的多边形的内部。 |
| FillRectangle | 填充由一对坐标、一个宽度和一个高度指定的矩形的内部。可重载。 |
| FillRectangles | 填充由 Rectangle 结构指定的一系列矩形的内部。可重载。 |
| FillRegion | 填充Region的内部。 |
| Flush | 强制执行所有挂起的图形操作并立即返回而不等待操作完成。可重载。 |
| FromHdc | 从设备上下文的指定句柄创建新的Graphics。可重载。 |
| FromHdcInternal | 返回指定设备上下文的Graphics。 |
| FromHwnd | 从窗口的指定句柄创建新的Graphics。 |
| FromHwndInternal | 创建指定 Windows 句柄的新Graphics。 |
| FromImage | 从指定的Image创建新的Graphics。 |
| GetHalftonePalette | 获取当前Windows的半色调调色板的句柄。 |
| GetHashCode | 用作特定类型的哈希函数。GetHashCode 适合在哈希算法和数据结构(如哈希表)中使用。 (从 Object 继承。) |
| GetHdc | 获取与此Graphics关联的设备上下文的句柄。 |
| GetLifetimeService | 检索控制此实例的生存期策略的当前生存期服务对象。 (从 MarshalByRefObject 继承。) |
| GetNearestColor | 获取与指定的Color结构最接近的颜色。 |
| GetType | 获取当前实例的 Type。 (从 Object 继承。) |
| InitializeLifetimeService | 获取控制此实例的生存期策略的生存期服务对象。 (从 MarshalByRefObject 继承。) |
| IntersectClip | 将此Graphics的剪辑区域更新为当前剪辑区域与指定 Rectangle 结构的交集。可重载。 |
| IsVisible | 指示由一对坐标指定的点是否包含在此 Graphics 的可见剪辑区域内。可重载。 |
| MeasureCharacterRanges | 获取Region对象的数组,其中每个对象将字符位置的范围限定在指定字符串内。 |
| MeasureString | 测量用指定的 Font 绘制的指定字符串。可重载。 |
| MultiplyTransform | 将此 Graphics 的世界变换乘以指定的 Matrix。可重载。 |
| ReferenceEquals | 确定指定的 Object 实例是否是相同的实例。 (从 Object 继承。) |
| ReleaseHdc | 释放通过以前对此 Graphics 的 GetHdc 方法的调用获得的设备上下文句柄。可重载。 |
| ReleaseHdcInternal | 释放设备上下文的句柄。 |
| ResetClip | 将此 Graphics 的剪辑区域重置为无限区域。 |
| ResetTransform | 将此 Graphics 的世界变换矩阵重置为单位矩阵。 |
| Restore | 将此 Graphics 的状态还原到 GraphicsState 表示的状态。 |
| RotateTransform | 将指定旋转应用于此 Graphics 的变换矩阵。可重载。 |
| Save | 保存此 Graphics 的当前状态,并用 GraphicsState 标识保存的状态。 |
| ScaleTransform | 将指定的缩放操作应用于此 Graphics 的变换矩阵,方法是将该对象的变换矩阵左乘该缩放矩阵。可重载。 |
| SetClip | 将此 Graphics 的剪辑区域设置为指定 Graphics 的 Clip 属性。可重载。 |
| ToString | 返回表示当前 Object 的 String。 (从 Object 继承。) |
| TransformPoints | 使用此 Graphics 的当前世界变换和页变换,将点数组从一个坐标空间转换到另一个坐标空间。可重载。 |
| TranslateClip | 将此 Graphics 的剪辑区域沿水平方向和垂直方向平移指定的量。可重载。 |
| TranslateTransform | 通过使此Graphics的变换矩阵左乘指定的平移来更改坐标系统的原点。可重载。 |
总结
以上是生活随笔为你收集整理的Graphics详解的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: Monitor简介
- 下一篇: java更改exif信息_照片EXIF信