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信