Làm cách nào để tạo gradient tuyến tính đa màu trong WinForms? System.Drawing.Drawing2D.LinearGradientBrush chỉ cho phép hai màu.Độ dốc tuyến tính đa màu trong WinForms
14
A
Trả lời
47
cùng câu trả lời là ở đây: Multi-màu chéo gradient trong winforms Multi-color diagonal gradient in winforms
Dưới đây là một ví dụ nhỏ
void MainFormPaint(object sender, PaintEventArgs e)
{
LinearGradientBrush br = new LinearGradientBrush(this.ClientRectangle, Color.Black, Color.Black, 0 , false);
ColorBlend cb = new ColorBlend();
cb.Positions = new[] {0, 1/6f, 2/6f, 3/6f, 4/6f, 5/6f, 1};
cb.Colors = new[] {Color.Red, Color.Orange, Color.Yellow, Color.Green, Color.Blue, Color.Indigo, Color.Violet};
br.InterpolationColors= cb;
// rotate
br.RotateTransform(45);
// paint
e.Graphics.FillRectangle(br, this.ClientRectangle);
}
đây là kết quả
hy vọng điều này giúp
+0
Tuyệt vời - đó chỉ là những gì tôi đang tìm kiếm! Cảm ơn bạn đã giúp đỡ. – ChandlerPelhams
+0
@ChandlerPelhams không có probs – punker76
Tạo hai gradient, một phía sau r khác. –