純色(單色)填充形狀
SolidBrush是由一個單一的顏色組成的形狀顏色填充,再設置一個畫的區域,如一個正方形或圓形就可以了
{
base.OnPaint(e);
Graphics g = e.Graphics;
g.FillRectangle(new SolidBrush(Color.Blue),
new Rectangle(0,0,this.Width-1,this.Height-1)
);
}
以上代碼,你只要隨便新建一個用戶控件,然後在Class中增加就可以,編譯後,新建一個Form,打開工具箱,就會自動增加一個控件,默認情況下,這個控件是UserControl1,顯示的效果是
陰影圖案填充形狀
使用陰影圖案填充形狀,有兩個顏色的參數,一個是填充區域的背景色,而另一個是在背景上再畫一系列線條.
{
base.OnPaint(e);
Graphics g = e.Graphics;
HatchBrush hBrush = new HatchBrush(
HatchStyle.Horizontal,
Color.Red,
Color.FromArgb(255, 128, 255, 255));
g.FillEllipse(hBrush, 0, 0, 100, 60);
}
這個HatchBrush 是命令空間System.Drawing.Drawing2D的類。
漸變色填充
LinearGradientBrush的使用
這是命令空間System.Drawing.Drawing2D的類
下面的代碼是畫一個有漸變色的橢圓。
{
base.OnPaint(e);
Graphics g = e.Graphics;
LinearGradientBrush lBrush = new LinearGradientBrush(
ClientRectangle,
Color.White,
Color.Red, LinearGradientMode.Vertical);
g.FillEllipse(lBrush, 0, 0, 100, 60);
}
效果圖如下
LinearGradientBrush能夠提供漸變色的效果,而且操作很簡單,所以經常被使用,LinearGradientMode是漸變的方向,如垂直,水平,傾斜等等。