Pascal 7 & Objects

       

Изображение фигур


-----------------------------------------------------------------

Функции изображения фигур используют текущее перо заданного контекста дисплея для изображения периметра и текущую кисть для закраски внутренней области. На текущую позицию они не влияют.

Функция Rectangle

Функция Rectangle рисует прямоугольник от его левого верхне- го угла к правому нижнему. Например, следующий оператор метода Paint рисует прямоугольник от (10,15) до (100,150).

Rectangle(PaintDC, 10, 15, 100, 150);

+-------------------------------- | | (10, 15) | *-----* | |#####| | |#####| | |#####| | |#####| | *-----* (100, 150)

Рис. 17.6. Результат выполнения функции Rectangle.

Функция RoundRect

Функция RoundRect рисует прямоугольник со скругленными угла- ми. Скругления углов определены как четверти эллипса. Например, следующий оператор метода Paint рисует прямоугольник от (10,15) до (100,150), углы которого будут скруглены четвертями эллипса шириной 9 и высотой 11.

RoundRect(PaintDC, 10, 15, 100, 150, 9, 11);

Функция Ellipse

Функция Ellipse рисует эллипс, задаваемый ограничивающим его прямоугольником. Следующий пример рисует эллипс в прямоугольнике от (10,15) до (110,70).

Ellipse(PaintDC, 10, 50, 100, 150);

Функции Pie и Chord

Функции Pie и Chord рисуют секторы эллипса. Они рисуют дугу, подобно функции Arc. Однако, результатом Pie и Chord будут облас- ти. Функция Pie соединяет центр эллипса с его граничными точками. Следующая функция Pie рисует верхнюю четверть круга, заключенного в прямоугольник от (10,10) до (40,40).

Pie(PaintDC, 10, 10, 40, 40, 50, 0, 0, 0);

Функция Chord соединяет две граничные точки дуги.

Chord(PaintDC, 10, 10, 40, 40, 50, 0, 0, 0);

Функция Polygon

Функция Polygon рисует непрерывную последовательность сег- ментов линий, аналогично функции Polyline, но в конце работы за- мыкает область, рисуя линию от последней заданной точки к первой заданной точке. И, наконец, он заполняет полученный многоугольник текущей кистью, используя установленный режим закрашивания много- угольника. Следующий метод Paint рисует и закрашивает прямоуголь- ный треугольник.

procedure TMyWindow.Paint(PaintDC: HDC; var PaintInfo: TPaintStruct); var Points: array[02] of TPoint; begin Points[0].X:=10; Points[0].Y:=15; Points[1].X:=10; Points[1].Y:=150; Points[2].X:=100; Points[2].Y:=150; Polygon(PaintDC, @Points, 3); end;

+-------------------------------- | | (10, 15) | * | |\ | |#\ | |##\ | |###\ | *-----* (100, 150) (10, 150)

Рис. 17.7. Результат выполнения функции Polygon.



Содержание раздела