28、建立線性梯度
private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
LinearGradientBrush linGrBrush = new LinearGradientBrush(
new Point(0, 0),
new Point(200, 100),
Color.FromArgb(255, 0, 0, 255), // opaque blue
Color.FromArgb(255, 0, 255, 0)); // opaque green
Pen pen = new Pen(linGrBrush, 10);
e.Graphics.DrawLine(pen, 0, 0, 600, 300);
e.Graphics.FillEllipse(linGrBrush, 10, 100, 200, 100);
}
效果:
29、連接線條
private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
GraphicsPath path = new GraphicsPath();
Pen penJoin = new Pen(Color.FromArgb(255, 0, 0, 255), 8);
path.StartFigure();
path.AddLine(new Point(50, 200), new Point(100, 200));
path.AddLine(new Point(100, 200), new Point(100, 250));
penJoin.LineJoin = LineJoin.Bevel;
e.Graphics.DrawPath(penJoin, path);
}
效果:
30、將 Gamma 校正應用於梯度
private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
LinearGradientBrush linGrBrush = new LinearGradientBrush(
new Point(0, 10),
new Point(200, 10),
Color.Red,
Color.Blue);
e.Graphics.FillRectangle(linGrBrush, 0, 0, 200, 50);
linGrBrush.GammaCorrection = true;
e.Graphics.FillRectangle(linGrBrush, 0, 60, 200, 50);
}
:
31、繪製用紋理填充的線條
private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
Bitmap bitmap = new Bitmap("..\\..\\test.jpg");
TextureBrush tBrush = new TextureBrush(bitmap);
Pen texturedPen = new Pen(tBrush, 30);
e.Graphics.DrawImage(bitmap, 0, 0, bitmap.Width, bitmap.Height);
e.Graphics.DrawEllipse(texturedPen, 100, 20, 200, 100);
}
本系列文章是作者學習《Visual C#.NET 應用編程150例》(源碼)心得筆記,歡迎轉載,請註明原文地址,如有疑問,可以通過 278250658@qq.com 聯絡作者本人。