Нарисуйте кривую с более четко очерченными цветами в C#
В сообщении . Я упомянул, что вы можете достичь еще более резких цветов, если используете TextureBrush. Естественно, я не мог позволить его сбросить, вот пример, который делает именно это. Следующий код показывает, как программа создает свою кисть и рисует кривую.
// Сделайте изображение для кисти.
using (Bitmap bm = new Bitmap(100, 100))
{
using (Graphics gr = Graphics.FromImage(bm))
{
gr.Clear(Color.White);
gr.FillRectangle(Brushes.Red, 0, 80, 100, 20);
gr.FillRectangle(Brushes.Orange, 0, 60, 100, 20);
gr.FillRectangle(Brushes.Yellow, 0, 40, 100, 20);
gr.FillRectangle(Brushes.Green, 0, 20, 100, 20);
gr.FillRectangle(Brushes.Blue, 0, 0, 100, 20);
}
// Создаем кисть из изображения.
using (TextureBrush brush = new TextureBrush(bm))
{
// Создаем толстую ручку, определяемую кистью.
using (Pen pen = new Pen(brush, 3))
{
pen.LineJoin = LineJoin.Bevel;
// Рисуем кривую.
Random rand = new Random();
if (chkCurved.Checked)
e.Graphics.DrawCurve(pen, Points);
else
e.Graphics.DrawLines(pen, Points);
}
}
}
Код делает Bitmap достаточно большим, чтобы заполнить координаты чертежа. Он создает объект Graphics и использует его для окраски Bitmap с горизонтальными полосами цвета.
Затем код создает TextureBrush, который использует Bitmap. Затем он рисует кривую, как в предыдущих примерах.
