亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

.NET3.5 GDI+ 圖形操作3

系統 1974 0

??????前言: 本文章抄襲自本人剛剛買的《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 對象,這種對象使用圖像來填充形狀的內部,用戶可以設置填充的方式。下表例舉了常的方法和屬性。

?

?

?

?

.NET3.5 GDI+ 圖形操作3

下面的代碼示例演示了用圖形填充區域的用法。

?

?

        // 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);
      
?

?

?

網頁運行結果如圖:

?

?

?

.NET3.5 GDI+ 圖形操作3

?

10.2.5 Font

?

?

Font 用于定義特定的文本格式,包括字體、字號和字形屬性。

?

?

下表列舉了常用方法和屬性。

?

?

.NET3.5 GDI+ 圖形操作3

?

下面這行代碼將構建一個 10 磅大小的宋體字體。

?

?

    System.Drawing.Font f1  =   new  System.Drawing.Font( " 宋體 " , 10 );

  
?

?

10.2.6 Image

?

?

Image 是為源自 Bitmap Metafile 的類提供功能的抽象基類。下表列舉了常用的方法和屬性。

?

?

.NET3.5 GDI+ 圖形操作3

?

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 類型的參數,可以的值如下表。

.NET3.5 GDI+ 圖形操作3

?

?

?

比如:

?

?

?

?

      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);
    
?

網頁運行如圖:

?

?

.NET3.5 GDI+ 圖形操作3

.NET3.5 GDI+ 圖形操作3


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 在线免费一级片 | 亚洲xoxo| 国产精选91热在线观看 | jizz免费在线观看 | 在线看片亚洲 | 亚洲人成在线免费观看 | 12345国产精品高清在线 | 亚洲五月综合网色九月色 | 成人一级黄色毛片 | 亚洲成在人天堂一区二区 | 国产性精品 | 精品色| 日日干日日插 | 亚洲国产成人在线视频 | 福利网站在线观看 | a一级黄色片 | 久久国产麻豆 | 久久一区二区免费播放 | 国产精品国产自线拍手机观看 | 免费特黄一级欧美大片 | 色综合a怡红院怡红院首页 色综合h | 波多野结衣一区二区 | 日韩区| 91亚洲精品一区二区福利 | 国产精品欧美一区二区 | 97影院理论片 | 国产精品在线播放 | 美女久久久久久久久久久 | 99热最新网站 | 久久爱伊人一区二区三区小说 | 国产精品亚洲专区在线观看 | 国产乱人视频在线播放不卡 | 奇米影视在线观看 | 欧美综合精品一区二区三区 | 日韩成人午夜 | 99热精品国产三级在线观看 | 精品福利影院 | 视频在线色 | 天天操人人射 | 一级特黄特黄的大片免费 | 国产精品入口麻豆高清在线 |