在C#中使用線性漸變畫刷(LinearGradientBrush)可以通過以下步驟實現:
System.Drawing
命名空間,該命名空間包含了畫刷類和繪圖類。using System.Drawing;
LinearGradientBrush
類的構造函數創建一個線性漸變畫刷對象,構造函數接受兩個點的坐標和兩種顏色作為參數。第一個點是漸變的起始點,第二個點是漸變的結束點,顏色參數可以使用Color
類的靜態屬性或自定義的顏色。LinearGradientBrush brush = new LinearGradientBrush(
new Point(x1, y1), // 漸變起始點坐標
new Point(x2, y2), // 漸變結束點坐標
Color.Red, // 漸變起始顏色
Color.Blue); // 漸變結束顏色
Graphics
類的方法(如FillRectangle
、FillEllipse
等)和創建的畫刷對象繪制要填充的圖形。Graphics graphics = e.Graphics; // 假設使用Paint事件的參數e
Rectangle rectangle = new Rectangle(x, y, width, height); // 一個矩形示例
graphics.FillRectangle(brush, rectangle); // 使用畫刷填充矩形
完整的示例代碼如下:
using System;
using System.Drawing;
using System.Windows.Forms;
namespace LinearGradientBrushExample
{
public partial class MainForm : Form
{
public MainForm()
{
InitializeComponent();
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
LinearGradientBrush brush = new LinearGradientBrush(
new Point(0, 0), // 漸變起始點坐標
new Point(200, 100), // 漸變結束點坐標
Color.Red, // 漸變起始顏色
Color.Blue); // 漸變結束顏色
Graphics graphics = e.Graphics;
Rectangle rectangle = new Rectangle(50, 50, 200, 100);
graphics.FillRectangle(brush, rectangle);
}
}
}
在Windows窗體應用程序中,可以將上述代碼添加到窗體的代碼文件中,并在Main
方法中創建窗體實例并運行。
static class Program
{
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
}
運行程序后,將在窗體上繪制一個使用線性漸變畫刷填充的矩形。