基本圖形是構建複雜圖形的基石。掌握直線、矩形、圓形繪製,即可組合出豐富視覺效果。在 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();

使用 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+ 繪製的文字屬於二進位影像資料,無法被複製貼上為文字。
前面示範的圖形僅有邊框,若需實心填充,可使用 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 方法繪製邊界。