c#有关 GDI+ 图形编程方面的相关资料
来源:互联网 发布:网上淘宝店铺转让 编辑:程序博客网 时间:2024/04/30 09:41
.NET Framework 类库
Graphics 成员
Graphics 类 方法 属性 请参见 发送反馈意见
封装一个 GDI+ 绘图图面。无法继承此类。
命名空间: System.Drawing
备注
Graphics 类提供将对象绘制到显示设备的方法。Graphics 与特定的设备上下文关联。
通过调用从 System.Windows.Forms..::.Control 继承的对象上的 Control..::.CreateGraphics 方法,或通过处理控件的 Control..::.Paint 事件并访问 System.Windows.Forms..::.PaintEventArgs 类的 Graphics 属性,可以获取 Graphics 对象。也可以使用 FromImage 方法从图像创建 Graphics 对象。有关创建 Graphics 对象的更多信息,请参见如何:创建用于绘制的 Graphics 对象。
可以使用 Graphics 对象绘制许多不同的形状和线条。有关如何绘制线条和形状的更多信息,请参见针对要绘制的线条或形状的特定 DrawGraphicalElement 方法。这些方法包括 DrawLine、DrawArc、DrawClosedCurve、DrawPolygon 和 DrawRectangle。有关如何绘制线条和形状的更多信息,请参见使用钢笔绘制线条和形状和使用画笔填充形状。
还可以分别使用 DrawImage 和 DrawIcon 方法来绘制图像和图标。有关如何使用 Graphics 对象绘制图像的更多信息,请参见使用图像、位图、图标和图元文件。
示例
下面的代码示例设计用于 Windows 窗体,它需要 PaintEventArgs 对象。PaintEventArgs 对象名为 e,是 Paint 事件处理程序的一个参数。代码执行下列操作:
· 从 JPEG 文件创建图像。该文件名为 SampImag.jpg,位于示例文件夹中。
· 创建要在该处绘制图像左上角的点。
· 使用 Graphics 对象将未缩放的图像绘制到屏幕上。
C#
private void DrawImagePointF(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create point for upper-left corner of image.
PointF ulCorner = new PointF(100.0F, 100.0F);
// Draw image to screen.
e.Graphics.DrawImage(newImage, ulCorner);
}
Graphics 类型公开了以下成员。
方法
名称
说明
AddMetafileComment
向当前 Metafile 添加注释。
BeginContainer
已重载。 保存具有此 Graphics 的当前状态的图形容器,然后打开并使用新的图形容器。
Clear
清除整个绘图面并以指定背景色填充。
CopyFromScreen
已重载。 执行颜色数据从屏幕到 Graphics 的绘图图面的位块传输。
CreateObjRef
创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。
Dispose
释放由 Graphics 使用的所有资源。
DrawArc
已重载。 绘制一段弧线,它表示由一对坐标、宽度和高度指定的椭圆部分。
DrawBezier
已重载。 绘制由 4 个 Point 结构定义的贝塞尔样条。
DrawBeziers
已重载。 用 Point 结构数组绘制一系列贝塞尔样条。
DrawClosedCurve
已重载。 绘制由 Point 结构的数组定义的闭合基数样条。
DrawCurve
已重载。 绘制经过一组指定的 Point 结构的基数样条。
DrawEllipse
已重载。 绘制一个由边框(该边框由一对坐标、高度和宽度指定)定义的椭圆。
DrawIcon
已重载。 在指定坐标处绘制由指定的 Icon 表示的图像。
DrawIconUnstretched
绘制指定的 Icon 表示的图像,而不缩放该图像。
DrawImage
已重载。 在指定位置并且按原始大小绘制指定的 Image。
DrawImageUnscaled
已重载。 在由坐标对指定的位置,使用图像的原始物理大小绘制指定的图像。
DrawImageUnscaledAndClipped
在不进行缩放的情况下绘制指定的图像,并在需要时剪辑该图像以适合指定的矩形。
DrawLine
已重载。 绘制一条连接由坐标对指定的两个点的线条。
DrawLines
已重载。 绘制一系列连接一组 Point 结构的线段。
DrawPath
绘制 GraphicsPath。
DrawPie
已重载。 绘制一个扇形,该形状由一个坐标对、宽度、高度以及两条射线所指定的椭圆定义。
DrawPolygon
已重载。 绘制由一组 Point 结构定义的多边形。
DrawRectangle
已重载。 绘制由坐标对、宽度和高度指定的矩形。
DrawRectangles
已重载。 绘制一系列由 Rectangle 结构指定的矩形。
DrawString
已重载。 在指定位置并且用指定的 Brush 和 Font 对象绘制指定的文本字符串。
EndContainer
关闭当前图形容器,并将此 Graphics 的状态还原到通过调用 BeginContainer 方法保存的状态。
EnumerateMetafile
已重载。 将指定 Metafile 中的记录逐个发送到回调方法以在指定的点处显示。
Equals
确定指定的 Object 是否等于当前的 Object。 (继承自 Object。)
ExcludeClip
已重载。 更新此 Graphics 的剪辑区域,以排除 Rectangle 结构所指定的区域。
FillClosedCurve
已重载。 填充由 Point 结构数组定义的闭合基数样条曲线的内部。
FillEllipse
已重载。 填充边框所定义的椭圆的内部,该边框由一对坐标、一个宽度和一个高度指定。
FillPath
填充 GraphicsPath 的内部。
FillPie
已重载。填充由一对坐标、宽度、一个高度以及两条射线指定的椭圆所定义的扇形区的内部。
FillPolygon
已重载。 填充 Point 结构指定的点数组所定义的多边形的内部。
FillRectangle
已重载。 填充由一对坐标、一个宽度和一个高度指定的矩形的内部。
FillRectangles
已重载。 填充由 Rectangle 结构指定的一系列矩形的内部。
FillRegion
填充 Region 的内部。
Finalize
允许 Object 在“垃圾回收”回收 Object 之前尝试释放资源并执行其他清理操作。
Flush
已重载。 强制执行所有挂起的图形操作并立即返回而不等待操作完成。
FromHdc
已重载。 从设备上下文的指定句柄创建新的 Graphics。
FromHdcInternal
基础结构。返回指定设备上下文的 Graphics。
FromHow
基础结构。创建图形对象。
FromHwnd
从窗口的指定句柄创建新的 Graphics。
FromHwndInternal
基础结构。创建指定 Windows 句柄的新 Graphics。
FromImage
从指定的 Image 创建新的 Graphics。
GetContextInfo
基础结构。获取累积的图形上下文。
GetHalftonePalette
获取当前 Windows 的半色调调色板的句柄。
GetHashCode
用作特定类型的哈希函数。 (继承自 Object。)
GetHdc
获取与此 Graphics 关联的设备上下文的句柄。
GetLifetimeService
检索控制此实例的生存期策略的当前生存期服务对象。 (继承自 MarshalByRefObject。)
GetNearestColor
获取与指定的 Color 结构最接近的颜色。
GetType
获取当前实例的 Type。 (继承自 Object。)
InitializeLifetimeService
获取控制此实例的生存期策略的生存期服务对象。 (继承自 MarshalByRefObject。)
IntersectClip
已重载。 将此 Graphics 的剪辑区域更新为当前剪辑区域与指定 Rectangle 结构的交集。
IsVisible
已重载。 指示由一对坐标指定的点是否包含在此 Graphics 的可见剪辑区域内。
MeasureCharacterRanges
获取 Region 对象的数组,其中每个对象将字符位置的范围限定在指定字符串内。
MeasureString
已重载。 测量用指定的 Font 绘制的指定字符串。
MemberwiseClone
已重载。
MultiplyTransform
已重载。 将此 Graphics 的世界变换乘以指定的 Matrix。
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 的变换矩阵左乘指定的平移来更改坐标系统的原点。
属性
名称
说明
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 的可见剪辑区域的边框。
.NET Framework 类库
Brush 类
成员 请参见 发送反馈意见
定义用于填充图形形状(如矩形、椭圆、饼形、多边形和封闭路径)的内部的对象。
命名空间: System.Drawing
语法
C#
public abstract class Brush : MarshalByRefObject, ICloneable,
IDisposable
备注
这是一个抽象基类,不能进行实例化。若要创建一个画笔对象,请使用从 Brush 派生出的类,如 SolidBrush、TextureBrush 和 LinearGradientBrush。
继承者说明:
当从 Brush 类继承时,必须重写 Clone 方法。
Brush 类型公开了以下成员。
构造函数
名称
说明
Brush
初始化 Brush 类的新实例。
方法
名称
说明
Clone
当在派生类中重写时,创建此 Brush 的一个精确副本。
CreateObjRef
创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。
Dispose
已重载。 释放由 Brush 使用的所有资源。
Equals
确定指定的 Object 是否等于当前的 Object。 (继承自 Object。)
Finalize
允许 Object 在“垃圾回收”回收 Object 之前尝试释放资源并执行其他清理操作。
GetHashCode
用作特定类型的哈希函数。 (继承自 Object。)
GetLifetimeService
检索控制此实例的生存期策略的当前生存期服务对象。 (继承自 MarshalByRefObject。)
GetType
获取当前实例的 Type。 (继承自 Object。)
InitializeLifetimeService
获取控制此实例的生存期策略的生存期服务对象。 (继承自 MarshalByRefObject。)
MemberwiseClone
已重载。
SetNativeBrush
在派生类中,设置对 GDI+ 画笔对象的引用。
ToString
返回表示当前 Object 的 String。 (继承自 Object。)
.NET Framework 类库
Matrix 类
成员 请参见 发送反馈意见
封装表示几何变换的 3 x 3 仿射矩阵。无法继承此类。
命名空间: System.Drawing.Drawing2D
语法
C#
public sealed class Matrix : MarshalByRefObject, IDisposable
备注
3 x 3 矩阵在第一列包含 x 值,在第二列包含 y 值,在第三列包含 w 值。
Matrix 类型公开了以下成员。
构造函数
名称
说明
Matrix
已重载。 初始化 Matrix 类的新实例。
方法
名称
说明
Clone
创建此 Matrix 的一个精确副本。
CreateObjRef
创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。 (继承自 MarshalByRefObject。)
Dispose
释放由 Matrix 使用的所有资源。
Equals
测试指定的对象是否是 Matrix 以及是否与此 Matrix 相同。 (重写 Object..::.Equals(Object)。)
Finalize
允许 Object 在“垃圾回收”回收 Object 之前尝试释放资源并执行其他清理操作。
GetHashCode
返回哈希代码。 (重写 Object..::.GetHashCode()()()。)
GetLifetimeService
检索控制此实例的生存期策略的当前生存期服务对象。 (继承自 MarshalByRefObject。)
GetType
获取当前实例的 Type。 (继承自 Object。)
InitializeLifetimeService
获取控制此实例的生存期策略的生存期服务对象。 (继承自 MarshalByRefObject。)
Invert
如果此 Matrix 是可逆转的,则进行逆转。
MemberwiseClone
已重载。
Multiply
已重载。 通过预先计算指定的 Matrix,将此 Matrix 与指定的 Matrix 相乘。
Reset
重置此 Matrix 得到单位矩阵的元素。
Rotate
已重载。 对此 Matrix 沿原点顺时针旋转指定角度。
RotateAt
已重载。 通过预先计算旋转,沿指定点顺时针旋转该 Matrix。
Scale
已重载。 通过预先计算比例向量,将指定的比例向量应用到此 Matrix。
Shear
已重载。 通过预先计算切变向量将指定的切变向量应用到此 Matrix。
ToString
返回表示当前 Object 的 String。 (继承自 Object。)
TransformPoints
已重载。 对点数组应用此 Matrix 所表示的几何变换。
TransformVectors
已重载。 将数组中的每个矢量与矩阵相乘。该矩阵的转换元素(第三行)被忽略。
Translate
已重载。 通过预先计算转换向量,将指定的转换向量应用到此 Matrix。
VectorTransformPoints
将数组中的每个矢量与矩阵相乘。该矩阵的转换元素(第三行)被忽略。
属性
名称
说明
Elements
获取一个浮点值数组,它表示该 Matrix
.NET Framework 类库
GraphicsPath 类
成员 请参见 发送反馈意见
表示一系列相互连接的直线和曲线。无法继承此类。
命名空间: System.Drawing.Drawing2D
语法
C#
public sealed class GraphicsPath : MarshalByRefObject, ICloneable,
IDisposable
备注
应用程序使用路径来绘制形状的轮廓、填充形状内部和创建剪辑区域。图形引擎在世界坐标空间中维护路径内的几何形状的坐标。
路径可由任意数目的图形(子路径)组成。每一图形都是由一系列相互连接的直线和曲线或几何形状基元构成的。图形的起始点是相互连接的一系列直线和曲线中的第一点。终结点是该序列中的最后一点。几何形状基元的起始点和终结点都是由基元规范定义的。
由一系列相互连接的直线和曲线构成的图形(其起始点和终结点可以是同一点)是开放的图形,除非它被显式闭合。可以通过使用 CloseFigure 方法显式闭合一个图形,这通过连接一条从终结点到起始点的直线闭合当前图形。由几何形状基元构成的图形是闭合的图形。
为进行填充和剪辑(例如,如果使用 FillPath 呈现一个路径),通过添加一条从该图形的起始点到其终结点的直线来闭合所有开放的图形。
当创建路径或当闭合图形时,即隐式开始一个新图形。当调用 StartFigure 方法时,新图形是显式的。
在将几何形状基元添加到路径时,它添加包含几何形状的图形,并且还隐式开始一个新图形。因此,在路径中始终有一个当前图形。在将直线和曲线添加到路径中时,根据需要添加一条隐式直线以将当前图形的终结点连接到新直线和曲线的起始点,从而构成一系列相互连接的直线和曲线。
图形具有方向,方向描述在起始点和终结点之间绘制直线段和曲线段的方式。方向按将直线和曲线添加到图形的顺序定义,或者按几何形状基元定义。方向用来确定剪辑和填充的路径内部。
GraphicsPath 类型公开了以下成员。
构造函数
名称
说明
GraphicsPath
已重载。 使用 Alternate 的 FillMode 枚举初始化 GraphicsPath 类的新实例。
方法
名称
说明
AddArc
已重载。 向当前图形追加一段椭圆弧。
AddBezier
已重载。 在当前图形中添加一段立方贝塞尔曲线。
AddBeziers
已重载。 在当前图形中添加一系列相互连接的立方贝塞尔曲线。
AddClosedCurve
已重载。 向此路径添加一个闭合曲线。由于曲线经过数组中的每个点,因此使用基数样条曲线。
AddCurve
已重载.向当前图形添加一段样条曲线。由于曲线经过数组中的每个点,因此使用基数样条曲线。
AddEllipse
已重载。 向当前路径添加一个椭圆。
AddLine
已重载。 向此 GraphicsPath 追加一条线段。
AddLines
已重载。 向此 GraphicsPath 末尾追加一系列相互连接的线段。
AddPath
将指定的 GraphicsPath 追加到该路径。
AddPie
已重载。 向此路径添加一个扇形轮廓。
AddPolygon
已重载。 向此路径添加多边形。
AddRectangle
已重载。 向此路径添加一个矩形。
AddRectangles
已重载。 向此路径添加一系列矩形。
AddString
已重载。 向此路径添加文本字符串。
ClearMarkers
清除此路径的所有标记。
Clone
创建此路径的一个精确副本。
CloseAllFigures
闭合此路径中所有开放的图形并开始一个新图形。它通过连接一条从图形的终结点到起始点的直线,闭合每一开放的图形。
CloseFigure
闭合当前图形并开始新的图形。如果当前图形包含一系列相互连接的直线和曲线,该方法通过连接一条从终结点到起始点的直线,闭合该环回。
CreateObjRef
创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。
Dispose
释放由 GraphicsPath 使用的所有资源。
Equals
确定指定的 Object 是否等于当前的 Object。 (继承自 Object。)
Finalize
允许 Object 在“垃圾回收”回收 Object 之前尝试释放资源并执行其他清理操作。
Flatten
已重载。 将此路径中的各段曲线转换成相连的线段序列。
GetBounds
已重载。 返回限定此 GraphicsPath 的矩形。
GetHashCode
用作特定类型的哈希函数。 (继承自 Object。)
GetLastPoint
获取此 GraphicsPath 的 PathPoints 数组中的最后的点。
GetLifetimeService
检索控制此实例的生存期策略的当前生存期服务对象。 (继承自 MarshalByRefObject。)
GetType
获取当前实例的 Type。 (继承自 Object。)
InitializeLifetimeService
获取控制此实例的生存期策略的生存期服务对象。 (继承自 MarshalByRefObject。)
IsOutlineVisible
已重载. 当使用指定的 Pen 绘制此 GraphicsPath 时,指定点是否包含在后者的轮廓内(下)。
IsVisible
已重载。 指示指定点是否包含在此 GraphicsPath 内。
MemberwiseClone
已重载。
Reset
清空 PathPoints 和 PathTypes 数组并将 FillMode 设置为 Alternate。
Reverse
反转此 GraphicsPath 的 PathPoints 数组中各点的顺序。
SetMarkers
在此 GraphicsPath 上设置标记。
StartFigure
不闭合当前图形即开始一个新图形。后面添加到该路径的所有点都被添加到此新图形中。
ToString
返回表示当前 Object 的 String。 (继承自 Object。)
Transform
将变换矩阵应用到此 GraphicsPath。
Warp
已重载。 对此 GraphicsPath 应用由一个矩形和一个平行四边形定义的扭曲变换。
Widen
已重载。 在用指定的钢笔绘制此路径时,用包含所填充区域的曲线代替此路径。
属性
名称
说明
FillMode
获取或设置一个 FillMode 枚举,确定此 GraphicsPath 中的形状的内部如何填充。
PathData
获取一个 PathData,它封装此 GraphicsPath 的点(points)和类型(types)的数组。
PathPoints
获取路径中的点。
PathTypes
获取 PathPoints 数组中相应点的类型。
PointCount
获取 PathPoints 或 PathTypes 数组中的元素数。
.NET Framework 类库
Pen 类
成员 示例 请参见 发送反馈意见
定义用于绘制直线和曲线的对象。无法继承此类。
命名空间: System.Drawing
语法
C#
public sealed class Pen : MarshalByRefObject, ICloneable,
IDisposable
备注
Pen 绘制指定宽度和样式的直线。使用 DashStyle 属性绘制几种虚线。可以使用各种填充样式(包括纯色和纹理)来填充 Pen 绘制的直线。填充模式取决于画笔或用作填充对象的纹理。
示例
下面的代码示例演示了如何使用 Brush 构造 Pen,以及在 Pen 上设置 LineJoin 属性的效果。
此示例是针对使用 Windows 窗体而设计的。将代码粘贴到一个窗体中,然后在处理窗体的 Paint 事件时调用 ShowLineJoin 方法,并传递 e 作为 PaintEventArgs。
C#
private void ShowLineJoin(PaintEventArgs e)
{
// Create a new pen.
Pen skyBluePen = new Pen(Brushes.DeepSkyBlue);
// Set the pen's width.
skyBluePen.Width = 8.0F;
// Set the LineJoin property.
skyBluePen.LineJoin = System.Drawing.Drawing2D.LineJoin.Bevel;
// Draw a rectangle.
e.Graphics.DrawRectangle(skyBluePen,
new Rectangle(40, 40, 150, 200));
//Dispose of the pen.
skyBluePen.Dispose();
}
Pen 类型公开了以下成员。
构造函数
名称
说明
Pen
已重载。 用指定颜色初始化 Pen 类的新实例。
方法
名称
说明
Clone
创建此 Pen 的一个精确副本。
CreateObjRef
创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。
Dispose
释放此 Pen 使用的所有资源。
Equals
确定指定的 Object 是否等于当前的 Object。 (继承自 Object。)
Finalize
允许 Object 在“垃圾回收”回收 Object 之前尝试释放资源并执行其他清理操作。
GetHashCode
用作特定类型的哈希函数。 (继承自 Object。)
GetLifetimeService
检索控制此实例的生存期策略的当前生存期服务对象。 (继承自 MarshalByRefObject。)
GetType
获取当前实例的 Type。 (继承自 Object。)
InitializeLifetimeService
获取控制此实例的生存期策略的生存期服务对象。 (继承自 MarshalByRefObject。)
MemberwiseClone
已重载。
MultiplyTransform
已重载。 用指定的 Matrix 乘以此 Pen 的变换矩阵。
ResetTransform
将此 Pen 的几何变换矩阵重置为单位矩阵。
RotateTransform
已重载。 将局部几何变换旋转指定角度。此方法将旋转添加到变换前。
ScaleTransform
已重载。 按指定因子缩放局部几何变换。此方法将缩放矩阵添加到变换前。
SetLineCap
设置用于确定线帽样式的值,线帽用于结束通过此 Pen 绘制的直线。
ToString
返回表示当前 Object 的 String。 (继承自 Object。)
TranslateTransform
已重载。 将局部几何变换平移指定尺寸。此方法将平移添加到变换前。
属性
名称
说明
Alignment
获取或设置此 Pen 的对齐方式。
Brush
获取或设置 Brush,用于确定此 Pen 的属性。
Color
获取或设置此 Pen 的颜色。
CompoundArray
获取或设置用于指定复合钢笔的值数组。复合钢笔绘制由平行直线和空白区域组成的复合直线。
CustomEndCap
获取或设置要在通过此 Pen 绘制的直线终点使用的自定义线帽。
CustomStartCap
获取或设置要在通过此 Pen 绘制的直线起点使用的自定义线帽。
DashCap
获取或设置用在短划线终点的线帽样式,这些短划线构成通过此 Pen 绘制的虚线。
DashOffset
获取或设置直线的起点到短划线图案起始处的距离。
DashPattern
获取或设置自定义的短划线和空白区域的数组。
DashStyle
获取或设置用于通过此 Pen 绘制的虚线的样式。
EndCap
获取或设置要在通过此 Pen 绘制的直线终点使用的线帽样式。
LineJoin
获取或设置通过此 Pen 绘制的两条连续直线的端点的联接样式。
MiterLimit
获取或设置斜接角上联接宽度的限制。
PenType
获取用此 Pen 绘制的直线的样式。
StartCap
获取或设置在通过此 Pen 绘制的直线起点使用的线帽样式。
Transform
获取或设置此 Pen 的几何变换的副本。
Width
获取或设置此 Pen 的宽度,以用于绘图的 Graphics 对象为单位。
.NET Framework 类库
Bitmap 成员
Bitmap 类 构造函数 方法 属性 显式接口实现 请参见 发送反馈意见
封装 GDI+ 位图,此位图由图形图像及其属性的像素数据组成。Bitmap 是用于处理由像素数据定义的图像的对象。
命名空间: System.Drawing
语法
C#
[SerializableAttribute]
[ComVisibleAttribute(true)]
public sealed class Bitmap : Image
备注
位图由图形图像及其属性的像素数据组成。可使用许多标准格式将位图保存到文件。GDI+ 支持下面的文件格式:BMP、GIF、EXIG、JPG、PNG 和 TIFF。有关支持的格式的更多信息,请参见位图类型。
可以使用 Bitmap 构造函数中的一种来从文件、流和其他源创建图像,然后使用 Save 方法将这些图像保存到流或文件系统中。使用 Graphics 对象的 DrawImage 方法,将图像绘制到屏幕上或内存中。有关使用图像文件的主题的列表,请参见使用图像、位图、图标和图元文件。
注意:
不能跨应用程序域访问 Bitmap 类。例如,如果您创建了一个动态 AppDomain,并在该域中创建了几个画笔、钢笔和位图,然后将这些对象传递回主应用程序域,则您可以成功使用这些钢笔和画笔。但是,如果您调用 DrawImage 方法来绘制封送的 Bitmap,您会收到以下异常信息。
远程处理无法在类型“System.Drawing.Image”上找到字段“本机映像”。
示例
下面的代码示例设计为与 Windows 窗体一起使用,它需要 PaintEventArgse,即 Paint 事件处理程序的一个参数。代码执行下列操作:
· 从示例文件夹中的 SampImag.jpg 文件创建图像。
· 创建要在该处绘制图像左上角的点。
· 将未缩放的图像绘制到屏幕。
C#
private void DrawImagePoint(PaintEventArgs e)
{
// Create image.
Image newImage = Image.FromFile("SampImag.jpg");
// Create Point for upper-left corner of image.
Point ulCorner = new Point(100, 100);
// Draw image to screen.
e.Graphics.DrawImage(newImage, ulCorner);
}
Bitmap 类型公开了以下成员。
构造函数
名称
说明
Bitmap
已重载。 初始化 Bitmap 类的一个新实例。
方法
名称
说明
Clone
已重载。 创建此 Bitmap(用指定的 PixelFormat 定义)部分的副本。
CreateObjRef
创建一个对象,该对象包含生成用于与远程对象进行通信的代理所需的全部相关信息。
Dispose
已重载。
Equals
确定指定的 Object 是否等于当前的 Object。 (继承自 Object。)
Finalize
允许 Object 在“垃圾回收”回收 Object 之前尝试释放资源并执行其他清理操作。
FromHicon
从图标的 Windows 句柄创建 Bitmap。
FromResource
从指定的 Windows 资源创建 Bitmap。
GetBounds
以指定的单位获取图像的界限。 (继承自 Image。)
GetEncoderParameterList
返回有关指定的图像编码器所支持的参数的信息。 (继承自 Image。)
GetFrameCount
返回指定维度的帧数。 (继承自 Image。)
GetHashCode
用作特定类型的哈希函数。 (继承自 Object。)
GetHbitmap
已重载。 从 GDI+ Bitmap 创建 GDI 位图对象。
GetHicon
返回图标的句柄。
GetLifetimeService
检索控制此实例的生存期策略的当前生存期服务对象。 (继承自 MarshalByRefObject。)
GetPixel
获取此 Bitmap 中指定像素的颜色。
GetPropertyItem
从该 Image 获取指定的属性项。 (继承自 Image。)
GetThumbnailImage
返回此 Image 的缩略图。 (继承自 Image。)
GetType
获取当前实例的 Type。 (继承自 Object。)
InitializeLifetimeService
获取控制此实例的生存期策略的生存期服务对象。 (继承自 MarshalByRefObject。)
LockBits
已重载。 将 Bitmap 锁定到系统内存中。
MakeTransparent
已重载。 使默认的透明颜色对此 Bitmap 透明。
MemberwiseClone
已重载。
RemovePropertyItem
从该 Image 移除指定的属性项。 (继承自 Image。)
RotateFlip
此方法旋转、翻转或者同时旋转和翻转 Image。 (继承自 Image。)
Save
已重载。
SaveAdd
已重载。
SelectActiveFrame
选择由维度和索引指定的帧。 (继承自 Image。)
SetPixel
获取此 Bitmap 中指定像素的颜色。
SetPropertyItem
在此 Image 中存储一个属性项(元数据片)。 (继承自 Image。)
SetResolution
设置此 Bitmap 的分辨率。
ToString
返回表示当前 Object 的 String。 (继承自 Object。)
UnlockBits
从系统内存解锁此 Bitmap。
属性
名称
说明
Flags
获取该 Image 的像素数据的属性标志。 (继承自 Image。)
FrameDimensionsList
获取 GUID 的数组,这些 GUID 表示此 Image 中帧的维数。 (继承自 Image。)
Height
获取此 Image 的高度(以像素为单位)。 (继承自 Image。)
HorizontalResolution
获取此 Image 的水平分辨率(以“像素/英寸”为单位)。 (继承自 Image。)
Palette
获取或设置用于此 Image 的调色板。 (继承自 Image。)
PhysicalDimension
获取此图像的宽度和高度。 (继承自 Image。)
PixelFormat
获取此 Image 的像素格式。 (继承自 Image。)
PropertyIdList
获取存储于该 Image 中的属性项的 ID。 (继承自 Image。)
PropertyItems
获取存储于该 Image 中的所有属性项(元数据片)。 (继承自 Image。)
RawFormat
获取此 Image 的文件格式。 (继承自 Image。)
Size
获取此图像的以像素为单位的宽度和高度。 (继承自 Image。)
Tag
获取或设置提供有关图像附加数据的对象。 (继承自 Image。)
VerticalResolution
获取此 Image 的垂直分辨率(以“像素/英寸”为单位)。 (继承自 Image。)
Width
获取此 Image 的宽度(以像素为单位)。 (继承自 Image。)
- c#有关 GDI+ 图形编程方面的相关资料
- 有关c#高级编程之---图形编程GDI+
- 有关图形方面的疑问锦集
- 有关语音识别方面资料的收集
- 有关照片裁剪方面的资料
- 有关语音识别方面资料的收集
- 有关矢量图形的一些资料
- android与图形有关的一些资料
- C# GDI+绘制的 使用率图形控件
- GDI相关资料
- GDI绘图相关资料
- C#学习之GDI + 图形编程基础(一)
- C#学习之GDI + 图形编程基础(二)
- 研究生期间有关语音识别方面资料的收集
- 研究生期间有关语音识别方面资料的收集
- 有关语音方面的深度学习资料合集
- 研究生期间有关语音识别方面资料的收集
- 有关语音方面的深度学习资料合集
- 打印:document.execCommand('print','true','true')的使用?
- VC++实现文件夹时间属性的获取与更改
- 一些常用的webservice,希望大家回复跟多的。。。
- 以往记录
- 给元素注册事件时,事件函数中不能使用全局变量
- c#有关 GDI+ 图形编程方面的相关资料
- 掠夺者—自己写新闻采集器(2)
- 在C#中操作XML I
- 常用的javascript小技巧
- 程序员创业失败主要原因
- Happiness Is A Journey
- 在C#中操作XM II
- VB.NET版的GridView经典使用(编辑,删除,分页,链接列)
- 解决smarty的 invalid attribute name 问题