Нарисуйте кривую с более четко очерченными цветами в C#
В сообщении
// Сделайте изображение для кисти. 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. Затем он рисует кривую, как в предыдущих примерах.