程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> 關於.NET >> .NET3.5 GDI+圖形操作4

.NET3.5 GDI+圖形操作4

編輯:關於.NET

10.3 基本繪圖

在.NET中圖形包括以下兩個步驟。

第一,創建Graphics對象。

第二,使用Graphics對象繪制線條和形狀,呈現文本或顯示操作圖像。

由此可見,如何創建Graphics對象是首先要解決的問題。本節將講述如何繪制直線、矩形 、圓等基本圖形,然後基本圖形構成復雜的圖形。Graphics常用的繪圖方法如下表。

10.3.1 創建圖形對象

創建圖形對象可有如下幾種方法。

² 在窗體或控件的Paint事件中接收對圖形對象的引用,作為PaintEventArgs的一 部分。在為控件創建繪制代碼時,通常使用此方法來獲取對圖形對象的引用。

² 調用某控件或窗體的CreateGraphics方法,以獲取對Graphics對象的引用,該對 象表示該控件或窗體的繪圖圖面。如果想在已存在的窗體或控件上繪圖,可使用此方法。

² 由從Image繼承的任何對象創建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對象和圖形對象都是非常耗費計算機內存的,所以 要及時調用Dispose方法釋放占用資源。

當然,也可以在內存中新建

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

如果要新創建一個圖像,則用這種方法是最好的。

10.3.2 繪制直線

繪制直線一般使用Graphics對象的DrawLine方法。下面的代碼在mm.jpg圖片上用紅色線條 斜畫一條直線。

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); // 從[0,0]到[200,200]畫直線
pen.Dispose();
g.Dispose();
// 存為新圖片
bmp.Save(Server.MapPath("~/mm2.jpg"));
bmp.Dispose();

代碼說明:

bmp.Save: 將Image對象保存到磁盤。Graphics對象並非直接在原圖上畫直線,而是在內 存中操作Image對象,所以需要另存為mm2.jpg才能看出效果。

程序運行後,查看mm2.jpg文件就可以看到效果了,如下圖:

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved