| 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 | < Назад | Оглавление | Далее > |