netlib.narod.ru | < Назад | Оглавление | Далее > |
Вы уже знаете, как нарисовать эллипс при помощи метода DrawLines, но есть и более простой подход, использующий те же аргументы, что и DrawRectangle:
Методы DrawEllipse класса Graphics
void DrawEllipse(Pen pen, int x, int y, int cx, int cy) |
void DrawEllipse(Pen pen, float, x, float y, float cx, float cy) |
void DrawEllipse(Pen pen, Rectangle rect) |
void DrawEllipse(Pen pen, RectangleF rectf) |
Методы DrawEllipse соответствуют методам DrawRectangle. Например, здесь нарисован эллипс с шириной и высотой, равными 3:
Если задать ширину и высоту равными 1, в результате будет нарисован закрашенный квадрат со стороной 2 пиксела.
Это означает (как и в случае DrawRectangle}, что нужно уменьшить ширину и высоту эллипса на 1, чтобы он уместился в области размером cx на cy.
ClientEllipse.cs
//---------------------------------------------- // ClientEllipse.cs (C) 2001 by Charles Petzold //---------------------------------------------- using System; using System.Drawing; using System.Windows.Forms; class ClientEllipse: PrintableForm { public new static void Main() { Application.Run(new ClientEllipse()); } public ClientEllipse() { Text = "Client Ellipse"; } protected override void DoPage(Graphics grfx, Color clr, int cx, int cy) { grfx.DrawEllipse(new Pen(clr), 0, 0, cx - 1, cy - 1); } }
Если два последних аргумента метода DrawEllipse приравнять cx и cy, то правая и нижняя стороны фигуры окажутся несколько обрезанными.
netlib.narod.ru | < Назад | Оглавление | Далее > |