欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

.NET3.5 GDI+ 圖形操作5

系統 1613 0

??????前言: 本文章抄襲自本人剛剛買的《ASP.NET 3.5從入門到精通》這本書,此書介紹在 http://www.china-pub.com/44991 ?,本文章95%與此書的內容完全一樣,另5%是我改正一些失誤以后加上去的,該書原示例代碼只能運行在IE核心的瀏覽器上,非IE核心瀏覽器上運行會出現些顯示問題,本人更改了其中的一些代碼。本文章經歷昨晚本人五個小時的手打而成(且還未打完,下班回去繼續打,想不到我的打字速度退化得這么快,郁悶!!!),俗話說:好記性不如爛筆頭,把書的內容手打出來,對手,對腦,都有好處!!!


10.3.3 繪制簡單圖形

?

?

簡單圖形是組成復雜圖形的基礎,通過本小節的例子,讀者可以掌握繪制復雜圖形的基礎。

?

?

除了直線外,矩形是所有簡單圖形的基礎。因為在 Windows 操作系統中,大部分圖形在內存中的表示都是矩形塊,比如一個窗體、一個按鈕控件等。即使是圓形的界面元素,在表示其位置時,仍然以所在矩形的左上角坐標為參照點,通過寬和高來框定其位置及其區域。

?

?

那么如何繪制矩形? Graphics 中的 DrawRectangle 可以在規定一個左上角頂點和長寬邊長的情況下繪制一個矩形。下面的代碼實現生成一個 400*300 的圖片,并畫出一個矩形。

?

?

    Pen pen = new Pen(Color.Red); // 創建一支紅筆
Bitmap bmp = new Bitmap(400,300);
Graphics g = Graphics.FromImage(bmp);
// 以[50,50]為左上角,以長300,寬200繪制矩形
g.DrawRectangle(pen,new Rectangle(50,50,300,200));
pen.Dispose();
g.Dispose();
// 存為新圖片
bmp.Save(Server.MapPath("~/aa.jpg"));
bmp.Dispose();
  
?

?

運行后,查看 aa.jpg 的效果如圖。

?

?

?

?

.NET3.5 GDI+ 圖形操作5

?

如何繪制圓形呢? Graphics 中的 DrawDllipse 可以在一個矩形范圍內繪制橢圓,當把矩形設置為正方形時,就能畫成為正圓,代碼如下所示:

?

?

    Pen pen = new Pen(Color.Red); // 創建一支紅筆
Bitmap bmp = new Bitmap(400,400);
Graphics g = Graphics.FromImage(bmp);
// 以[50,50]為左上角,以長300,寬300的矩形內繪制圓
g.DrawEllipse(pen, new Rectangle(50,50,300,300));
pen.Dispose();
g.Dispose();
// 存為新圖片
bmp.Save(Server.MapPath("~/bb.jpg"));
bmp.Dispose();
  
?

運行后,查看 bb.jpg 的效果如下圖。

?

?

?

.NET3.5 GDI+ 圖形操作5

?

10.3.4 繪制文本

?

?

有時用戶需要在圖片上顯示文字, Graphics 中的 DrawString 可以在圖形上繪制文字,其中可以指定坐標、字體、字號等信息。下面的代碼簡單地在圖片上寫了幾個漢字。

?

?

    Bitmap bmp = new Bitmap(200, 100);
Graphics g = Graphics.FromImage(bmp);
string str = "畫在圖片上的文字";
Font font = new Font("宋體", 10);
// 黑色筆刷
SolidBrush brush = new SolidBrush(Color.Black);
g.DrawString(str, font, brush, 50, 50); // 從[50,50]位置開始寫字
font.Dispose();
brush.Dispose();
g.Dispose();
// 存為新圖片
bmp.Save(Server.MapPath("~/text.jpg"));
bmp.Dispose();
  
?

運行后, text.jpg 的效果如下圖所示。

?

.NET3.5 GDI+ 圖形操作5

?


???????? 注意 :使用 GDI+ 畫上去的文字是二進制信息,無法作為文本復制粘貼

?

?


?

10.3.5 填充圖形

?

?

前面的簡單圖形基本只有邊界,內部區域是空心的。如果想繪制一個實心圖形,可以使用 Graphics 中的 FillXXX 方法,并使用刷子( Brush 對象)填充。

?

?

下面的代碼示例實現用藍色填充一個圓形區域。

?

?

    Bitmap bmp = new Bitmap(300, 300);
Graphics g = Graphics.FromImage(bmp);
// 藍色筆刷
SolidBrush brush = new SolidBrush(Color.Blue);
g.FillEllipse(brush, new Rectangle(5,5,250,250));
brush.Dispose();
g.Dispose();
// 存為新圖片
bmp.Save(Server.MapPath("~/fill.jpg"));
bmp.Dispose();
  
?

?

運行后,查看 fill.jpg 的效果如圖。

?

?

?

?

.NET3.5 GDI+ 圖形操作5

?

由此可見,利用 Fill 操作可以很方便地填充圖形,如果需要使邊界實出顯示,可以再用 Draw 方法將邊界繪制出來。

?

?

?

.NET3.5 GDI+ 圖形操作5


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

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 99久久亚洲精品日本无码 | 欧美大片网站 | 日韩欧美国产精品 | 日产乱码卡一卡2卡三卡四麻豆 | 日韩黄色在线视频 | 日本在线小视频 | 久操视频在线观看 | 无码色情影片视频在线看免费 | 久久久av | 日本成日本片人免费 | 亚洲成人免费网址 | 国产成人免费视频网站高清观看视频 | 久久美女 | 国产精品一区二 | 无码色情影片视频在线看免费 | 日本黄 色 成 年 人免费观看 | 日韩精品亚洲专区在线电影不卡 | 久久久国产这里有的是精品 | 亚洲黄色片在线观看 | 日韩av中文在线 | 精品国产一区二区三区久久久蜜臀 | 99久久精品费精品国产一区二区 | 丁香婷婷综合五月六月 | 奇米影视第四色av首页 | 免费精品一区二区三区在线观看 | 久久人人爽人人爽人人 | 九九热免费视频在线观看 | 麻豆精品国产自产在线 | 亚洲一级视频在线观看 | 亚洲草原天堂 | 国产玖玖 | 九一国产在线观看 | 99精品视频免费在线观看 | 操人视频在线观看 | www.五月婷| 国产精品毛片久久久久久久 | 成人影院在线 | 天天操天天干天天爽 | 日韩在线视频导航 | 三级毛片黄色 | 色综合国产|