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

C# GDI+ 繪圖進階(二)— 畫筆進階、畫刷五大類型與座標變換

     編輯:關於C語言

畫筆進階屬性與應用

屬性說明
Color顏色
Width粗細
DashStyle虛線樣式
DashPattern自定義虛線陣列
StartCap/EndCap線頭/線尾形狀(箭頭、圓形、方形等)
DashCap虛線段端點形狀

畫筆進階代碼範例


Pen p = new Pen(Color.Blue, 5);
Graphics g = this.CreateGraphics();

// 虛線:點狀
p.DashStyle = DashStyle.Dot;
g.DrawLine(p, 10, 10, 200, 10);

// 自定義虛線:2單位畫線,1單位空白
p.DashPattern = new float[] { 2, 1 };
g.DrawLine(p, 10, 20, 200, 20);

// 箭頭線(僅開放曲線有效)
p.DashStyle = DashStyle.Solid;
p.EndCap = LineCap.ArrowAnchor;
g.DrawLine(p, 10, 30, 200, 30);

g.Dispose(); p.Dispose();

執行效果

畫刷五大類型

類型用途
SolidBrush純色填充
HatchBrush預設圖案填充
TextureBrush圖片紋理填充
LinearGradientBrush線性漸層填充
PathGradientBrush自定義路徑漸層填充

畫刷綜合應用範例


Graphics g = this.CreateGraphics();
Rectangle rect = new Rectangle(10, 10, 50, 50);

// 1. 純色填充
SolidBrush b1 = new SolidBrush(Color.Blue);
g.FillRectangle(b1, rect);
g.DrawString("字符串", new Font("宋體", 10), b1, new PointF(90, 10));

// 2. 圖片紋理填充
TextureBrush b2 = new TextureBrush(Image.FromFile(@"e:\picture\1.jpg"));
rect.Location = new Point(10, 70);
rect.Width = 200; rect.Height = 200;
g.FillRectangle(b2, rect);

// 3. 線性漸層填充
rect.Location = new Point(10, 290);
LinearGradientBrush b3 = new LinearGradientBrush(
    rect, Color.Yellow, Color.Black, LinearGradientMode.Horizontal);
g.FillRectangle(b3, rect);

執行效果

座標系統詳細說明

  • 原點:視窗/控制項**左上角**
  • X 軸:水平向右為正
  • Y 軸:垂直向下為正
  • 與數學慣用座標系 **Y 軸反向**
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved