2009-09-29 37 views
5

Làm cách nào để tạo hình ảnh gradient (với chiều cao cho trước là & chiều rộng, bắt đầu màu và màu kết thúc) bằng C#? Có ai có đoạn mã mẫu đơn giản không? Cảm ơn bạn!C# Tạo Hình ảnh Gradient

Trả lời

10

Bạn có thể thực hiện việc này bằng cách sử dụng LinearGradientBrush. Ví dụ

// using System.Drawing; 
// using System.Drawing.Imaging; 
// using System.Drawing.Drawing2D; 

public static void OutputGradientImage() 
{ 
    using (Bitmap bitmap = new Bitmap(100, 100)) // 100x100 pixels 
    using (Graphics graphics = Graphics.FromImage(bitmap)) 
    using (LinearGradientBrush brush = new LinearGradientBrush(
     new Rectangle(0, 0, 100, 100), 
     Color.Blue, 
     Color.Red, 
     LinearGradientMode.Vertical)) 
    { 
     brush.SetSigmaBellShape(0.5f); 
     graphics.FillRectangle(brush, new Rectangle(0, 0, 100, 100)); 
     bitmap.Save("gradientImage.jpg", ImageFormat.Jpeg); 
    } 
} 
2

LinearGradientBrush là bạn của bạn ở đây:

 

    Bitmap bmp = new Bitmap(Width, Height); 
    Graphics g = Graphics.FromImage(bmp); 
    LinearGradientBrush lgb = new LinearGradientBrush(new Point(0, 0), new Point(Width, Height), Color.Black, Color.Red); 
    g.FillRectangle(lgb, 0, 0, Width, Height); 
    bmp.Save("FileName"); 
    lgb.Dispose(); 
    g.Dispose(); 
    bmp.Dispose(); 
 
0
protected override void OnPaintBackground(PaintEventArgs e) 
{ 
    using (Brush b = new LinearGradientBrush(ClientRectangle, Color.Red, Color.Blue, LinearGradientMode.ForwardDiagonal)) 
     e.Graphics.FillRectangle(b, ClientRectangle); 
} 

Đó là về đơn giản như bạn có thể làm điều đó.

Các vấn đề liên quan