首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> 關於.NET

.NET 3.5 GDI+ 圖形操作(四):建立繪圖物件與直線繪製

     編輯:關於.NET

10.3 基本繪圖

.NET 形繪製分兩步驟:

  1. 建立 Graphics 物件。
  2. 使用該物件繪製線條、形狀、文字或處理圖像。

首要任務是取得 Graphics 物件。常見方法如下表:

Graphics 常用繪圖方法表

10.3.1 建立圖形物件

取得 Graphics 物件主要有三種方式:

  • Paint 事件: 在控制項或表單的 Paint 事件中,從 PaintEventArgs 取得引用。撰寫控制項繪圖代碼時常用。
  • CreateGraphics 方法: 呼叫控制項或表單的 CreateGraphics 取得繪圖介面引用。適合在現有視窗/控制項上繪圖。
  • 從 Image 衍生物件建立: 由繼承自 Image 的物件(如 Bitmap)建立 Graphics。此法常用於生成圖片檔案。

ASP.NET Web 應用無法使用前兩種,故採用第三種。例如從網站根目錄 mm.jpg 建立:

Bitmap bmp = new Bitmap(Server.MapPath("~/mm.jpg"));
Graphics g = Graphics.FromImage(bmp);
bmp.Dispose();
g.Dispose();

注意: 圖片必須存在,否則無法建立 Bitmap。且 Bitmap 與 Graphics 佔用大量記憶體,用畢必須呼叫 Dispose 釋放資源。

亦可在記憶體中全新建立畫布:

Bitmap bmp = new Bitmap(200, 100);
Graphics g = Graphics.FromImage(bmp);
bmp.Dispose();
g.Dispose();

若需產生全新圖像,此法最佳。

10.3.2 繪製直線

使用 Graphics.DrawLine 繪製直線。下例在 mm.jpg 上以紅線從 (0,0) 畫至 (200,200):

Pen pen = new Pen(Color.Red);
Bitmap bmp = new Bitmap(Server.MapPath("~/mm.jpg"));
Graphics g = Graphics.FromImage(bmp);
g.DrawLine(pen, 0, 0, 200, 200);
pen.Dispose();
g.Dispose();
bmp.Save(Server.MapPath("~/mm2.jpg"));
bmp.Dispose();

說明: bmp.Save 將記憶體中 Image 物件存檔。Graphics 操作的是記憶體影像,非直接修改原檔,故須另存為新檔 (mm2.jpg) 才能看到效果。

直線繪製結果

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved