Нарисуйте линии с пользовательскими тире в C#

Чтобы создать строки с пользовательскими тире, сначала создайте объект Pen и установите его свойство DashStyle в Custom. Затем установите его свойство DashPattern в массив чисел с плавающей запятой, которые указывают, сколько единиц нужно рисовать, а затем пропускать. Например, массив {5, 1} означает draw 5, пропустить 1, а затем повторить по мере необходимости.

Единица чертежа - это толщина линии. Например, если линия имеет ширину в 5 пикселей, то массив {5, 1} означает draw 5 & times; 5 = 25 пикселей, пропустить 1 раз; 5 = 5 пикселей и повторите.

Пример программы использует следующий код для рисования своих образцов.

private void Form1_Paint(object sender, PaintEventArgs e)
{
    int y = 20;
    int x1 = 65;
    int x2 = ClientSize.Width - 10;
    using (Pen dashed_pen = new Pen(Brushes.Red, 5))
    {
        dashed_pen.DashStyle = DashStyle.Custom;

        dashed_pen.DashPattern = new float[] { 3, 1 };
        e.Graphics.DrawString("3, 1", this.Font,
            Brushes.Black, 10, y - 8);
        e.Graphics.DrawLine(dashed_pen, x1, y, x2, y);
        y += 20;

        dashed_pen.DashPattern = new float[] { 5, 1, 5, 5 };
        e.Graphics.DrawString("5, 1, 5, 5", this.Font,
            Brushes.Black, 10, y - 8);
        e.Graphics.DrawLine(dashed_pen, x1, y, x2, y);
        y += 20;

        dashed_pen.DashPattern = new float[] { 5, 1 };
        e.Graphics.DrawString("5, 1", this.Font,
            Brushes.Black, 10, y - 8);
        e.Graphics.DrawLine(dashed_pen, x1, y, x2, y);
        y += 20;

        dashed_pen.DashPattern = new float[] { 1, 3 };
        e.Graphics.DrawString("1, 3", this.Font,
            Brushes.Black, 10, y - 8);
        e.Graphics.DrawLine(dashed_pen, x1, y, x2, y);
        y += 20;

        dashed_pen.DashPattern = new float[] { 3, 1, 1, 1 };
        e.Graphics.DrawString("3, 1, 1, 1", this.Font,
            Brushes.Black, 10, y - 8);
        e.Graphics.DrawLine(dashed_pen, x1, y, x2, y);
        y += 20;
    }
}

Источник: http://csharphelper.com/blog/2015/02/draw-lines-with-custom-dash-patterns-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector