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

.NET 3.5 GDI+ 圖形操作(五):基本圖形與文字繪製

     編輯:關於.NET

10.3.3 繪製基本圖形

基本圖形是構建複雜圖形的基石。掌握直線、矩形、圓形繪製,即可組合出豐富視覺效果。在 Windows 系統中,大多數圖形在記憶體中皆以矩形區塊表示(如視窗、按鈕),即使是圓形元素,定位時仍參考其外接矩形的左上角座標與寬高。

矩形繪製

Graphics.DrawRectangle 可指定左上角頂點與長寬繪製矩形。下例建立 400x300 畫布並繪製紅色矩形:

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

矩形繪製結果

圓形/橢圓繪製

Graphics.DrawEllipse 在矩形範圍內繪製橢圓;若矩形為正方形則得正圓:

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

圓形繪製結果

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

文字繪製結果

注意: GDI+ 繪製的文字屬於二進位影像資料,無法被複製貼上為文字。

10.3.5 填充圖形

前面示範的圖形僅有邊框,若需實心填充,可使用 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();

填充圓形結果

若需同時顯示邊框,可在填充後再呼叫對應的 Draw 方法繪製邊界。

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