C# graphics方法
命名空間:System.Drawing
程式集:System.Drawing(在 system.drawing.dll 中)
封裝一個 GDI+ 繪圖圖面。無法繼承此類。
C# 用法
public sealed class Graphics : MarshalByRefObject, IDeviceContext, IDisposable
System.Drawing.Pen myPen = new System.Drawing.Pen(System.Drawing.Color.Red);//畫筆 System.Drawing.SolidBrush myBrush = new System.Drawing.SolidBrush(System.Drawing.Color.Red);//畫刷 System.Drawing.Graphics formGraphics = this.CreateGraphics();
formGraphics.FillEllipse(myBrush, new Rectangle(0,0,100,200));//畫實心橢圓
formGraphics.DrawEllipse(myPen, new Rectangle(0,0,100,200));//空心圓
formGraphics.FillRectangle(myBrush, new Rectangle(0,0,100,200));//畫實心方
formGraphics.DrawRectangle(myPen, new Rectangle(0,0,100,200));//空心矩形
formGraphics.DrawLine(myPen, 0, 0, 200, 200);//畫線
formGraphics.DrawPie(myPen,90,80,140,40,120,100); //畫餡餅圖形 //畫多邊形
formGraphics.DrawPolygon(myPen,new Point[]{ new Point(30,140), new Point(270,250), new Point(110,240), new Point (200,170), new Point(70,350), new Point(50,200)}); //清理使用的資源 myPen.Dispose(); myBrush.Dispose(); formGraphics.Dispose();
使用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 的可見剪輯區域的框線。 |
方法
名稱 | 說明 |
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 | 在由坐標對指定的位置,使用圖像的原始物理大小繪製指定的圖像。可重載。 |
在不進行縮放的情況下繪製指定的圖像,並在需要時剪輯該圖像以適合指定的矩形。 | |
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的變換矩陣左乘指定的平移來更改坐標系統的原點。可重載。 |
版本信息
受以下版本支持:2.0、1.1、1.0
.NET Compact Framework
受以下版本支持:2.0、1.0
平台
Windows 98、Windows 2000 SP4、Windows CE、Windows Millennium Edition、Windows Mobile for Pocket PC、Windows Mobile for Smartphone、Windows Server 2003、Windows XP Media Center Edition、Windows XP Professional x64 Edition、Windows XP SP2、Windows XP Starter Edition
.NET Framework 並不是對每個平台的所有版本都提供支持。有關受支持版本的列表,請參見.NET Framework 開發人員指南中的.NET Framework 系統要求 。