Свойство выравнивания инструмента «Ручки» в графике WinForms - PullRequest
0 голосов
/ 11 февраля 2012

Когда я хочу нарисовать прямоугольник в c # с помощью инструментов пера. Если ширина и высота прямоугольника меньше ширины ручки, тогда программа ничего не рисует из, если ручки alignment свойство Inset .Но когда я устанавливаю выравнивание центр , то он печатает прямоугольник.который не является размером моего прямоугольника.Что на самом деле произошло в то время?

пример:

      Pen p = new Pen(Color.Black, 300);
      p.Alignment = PenAlignment.Center;
      g.DrawRectangle(p, 100, 100,10, 10);
      p.Dispose();

Выходная цифра:

enter image description here

Но как можно нарисовать прямоугольник шириной 10 пикселей, высотой с ручкой шириной 300 пикселей?

1 Ответ

0 голосов
/ 17 февраля 2012

Итак, в принципе, когда ширина или высота прямоугольника меньше 300 пикселей, вы хотите нарисовать черный прямоугольник с заливкой?

void DrawRectangle(Graphics g, Color pencolor, int penwidth, Rectangle x)
{
    if(x.Width < penwidth || x.Height < penHeight)
    {
        Pen p = new Pen(pencolor);
        p.Alignment = PenAlignment.Inset;
        g.FillRectangle(p, x);
        p.Dispose();
    }
    else
    {
        Pen p = new Pen(pencolor, penwidth);
        p.Alignment = PenAlignment.Inset;
        g.DrawRectangle(p, x);
        p.Dispose();
    }
}

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...