C# создают изображение градиента

Выполненный jconsole. Это включено в SDK Java и выполняется из командной строки. Я не уверен, что ОС Вы используете, но на окнах можно просто передать ее PID процесса Java. Это должно помочь Вам найти поток, который вызывает проблему. Или, можно использовать коммерческого профилировщика как YourKit или любое число других профилировщиков.

5
задан Alex 29 September 2009 в 17:31
поделиться

3 ответа

You can do this using a LinearGradientBrush. For example

// 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);
    }
}
10
ответ дан 13 December 2019 в 05:38
поделиться

LinearGradientBrush is your friend here:


    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();

2
ответ дан 13 December 2019 в 05:38
поделиться
protected override void OnPaintBackground(PaintEventArgs e)
{
    using (Brush b = new LinearGradientBrush(ClientRectangle, Color.Red, Color.Blue, LinearGradientMode.ForwardDiagonal))
        e.Graphics.FillRectangle(b, ClientRectangle);
}

Это настолько просто, насколько вы можете это сделать.

0
ответ дан 13 December 2019 в 05:38
поделиться