??????前言: 本文章抄襲自本人剛剛買的《ASP.NET 3.5從入門到精通》這本書,此書介紹在 http://www.china-pub.com/44991 ?,本文章95%與此書的內容完全一樣,另5%是我改正一些失誤以后加上去的,該書原示例代碼只能運行在IE核心的瀏覽器上,非IE核心瀏覽器上運行會出現些顯示問題,本人更改了其中的一些代碼。本文章經歷昨晚本人五個小時的手打而成(且還未打完,下班回去繼續打,想不到我的打字速度退化得這么快,郁悶?。。。?,俗話說:好記性不如爛筆頭,把書的內容手打出來,對手,對腦,都有好處?。?!
10.2.4 Brush
?
?
Brush 通常被稱為,用于定義填充圖形形狀(如矩形、橢圓、餅形、多邊形和封閉路徑)的內部對象。 Brush 是一個抽象基類,不能進行實例化。若要創建一個畫筆對象,需使用從 Brush 派生出的類,如 SolidBrush 、 TextureBrush 和 LinearGradientBrush 。
?
?
SolidBrush 類用于定義單色畫筆。畫筆用于填充圖形形狀,如矩形、橢圓、扇形、多邊形和封閉路徑。下表列舉了常用的方法和屬性。
System.Drawing.Brushes 定義了很多標準筆刷,用戶可以直接定義一個藍色筆刷。
?
?
System.Drawing.Brush brush = System.Drawing.Brushes.Blue;?
?
?
當然,用戶也可以自定義畫筆。
?
?
// 定義一個紅色筆刷 System.Drawing.Brush brush = new System.Drawing.SolidBrush(System.Drawing.Color.Red);?
?
TextureBrush 類的每個屬性都是 Brush 對象,這種對象使用圖像來填充形狀的內部,用戶可以設置填充的方式。下表例舉了常的方法和屬性。
?
?
?
?
下面的代碼示例演示了用圖形填充區域的用法。
?
?
// Brush圖片 string brushfile = Server.MapPath("~/logo.gif"); // 被填充的圖片 string file = Server.MapPath("~/Element.jpg"); // 聲明TextureBrush對象 System.Drawing.Image brushimg = System.Drawing.Image.FromFile(brushfile); System.Drawing.TextureBrush texture = new System.Drawing.TextureBrush(brushimg); texture.WrapMode = System.Drawing.Drawing2D.WrapMode.Tile; System.Drawing.Image img = System.Drawing.Image.FromFile(file); System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(img); // 創建Graphics對象 g.FillEllipse(texture, new System.Drawing.RectangleF(90.0f,110.0f,100,100)); // 用圖形填充 g.Dispose(); // 原書中沒有這句,這里要加上這句,如果不加這句則在非IE瀏覽器顯示不出 Response.ContentType = "image/JPEG"; // 將圖形加載到Response中 img.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);?
?
?
網頁運行結果如圖:
?
?
?
?
10.2.5 Font
?
?
Font 用于定義特定的文本格式,包括字體、字號和字形屬性。
?
?
下表列舉了常用方法和屬性。
?
?
?
下面這行代碼將構建一個 10 磅大小的宋體字體。
?
?
System.Drawing.Font f1 = new System.Drawing.Font( " 宋體 " , 10 );?
?
10.2.6 Image
?
?
Image 是為源自 Bitmap 和 Metafile 的類提供功能的抽象基類。下表列舉了常用的方法和屬性。
?
?
?
Image 不可以實例化,但可以通過方法來構造:
?
?
System.Drawing.Image img1 = System.Drawing.Image.FromFile(Server.MapPath( " ~/logo.gif " ));?
?
Image 是基類,封裝了很多有用的屬性和方法,而實際運用時,尤其在生成或者修改圖像的時候,一般用其派生類 Bitmap 表示內存中的圖形。 Bitmap 是用于處理由像素數據定義的圖像的對象,是圖像處理開發中最常用的對象。用戶可以通過多種途徑構造 Bitmap 對象。
?
?
System.Drawing.Bitmap bmp1 = new System.Drawing.Bitmap(Server.MapPath( " ~/logo.gif " )); // 通過文件構造 System.Drawing.Bitmap bmp2 = new System.Drawing.Bitmap( 300 , 200 ); // 構造一個寬300,高200的對象?
構造完對象后,可以調用其方法進行操作,比如 RotateFlip 方法可以實現圖像反轉,該方法接收 RotateFlipType 類型的參數,可以的值如下表。
?
?
?
比如:
?
?
?
?
System.Drawing.Bitmap bmp1 = new System.Drawing.Bitmap(Server.MapPath("~/logo.gif")); // 通過文件構造 bmp1.RotateFlip(System.Drawing.RotateFlipType.Rotate90FlipX); // 水平翻轉90度旋轉 // 原書中沒有這句,這里要加上這句,如果不加這句則在非IE瀏覽器顯示不出 Response.ContentType = "image/JPEG"; bmp1.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);?
網頁運行如圖:
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
