Как нарисовать окружность в лазарусе
Перейти к содержимому

Как нарисовать окружность в лазарусе

Графические примитивы класса TCanvas в Lazarus

Класс TCanvas — сердцевина графической подсистемы Delphi (Lazarus). Он объединяет в себе и «холст» (контекст конкретного устройства GDI), и «рабочие инструменты» (перо, кисть, шрифт) и даже «подмастерьев» (набор функций по рисованию типовых геометрических фигур).

Канва не является компонентом, но она входит в качестве свойства во многие другие компоненты, которые должны уметь нарисовать себя и отобразить какую-либо информацию.

Для рисования канва включает в себя шрифт, перо и кисть:

Кроме того, можно рисовать и поточечно, получив доступ к каждому пикселу. Значение свойства

TCanvas/ru

Класс TCanvas является базовым инструментом для рисования графики.

Для рисования линий, прямоугольников и текста используются TPen, TBrush и TFont, чтобы определить размер и цвет карандаша, стиль и цвет кисти, стиль и цвет шрифта.

текст TextOut( txt ); TextOutXY( x, y, txt )
линии Line( x1, y1, x2, y2 ); LineTo( x, y ) with MoveTo(x, y )
прямоугольник Rectangle( l, t, r, b ); Rectangle( R: TRect ); FillRect()
окружность (эллипс) Ellipse( l, t, r, b ); Ellipse( R: TRect )

Contents

Рисование прямоугольника

Многие элементы управления отображают свой холст как общедоступное свойство или в событии OnPaint, например, TForm, TPanel и TPaintBox. Давайте используем TForm в качестве примера, чтобы продемонстрировать, как рисовать на холсте.

Предположим, мы хотим нарисовать красный прямоугольник с синей рамкой толщиной 5 пикселей в центре формы; размер прямоугольника должен составлять половину размера формы. Для этого мы должны добавить код в событие OnPaint формы. Не рисуйте в обработчике OnClick, потому что это рисование не является постоянным и будет стираться всякий раз, когда операционная система запросит перерисовку, всегда рисуйте в событии OnPaint!

Метод TCanvas для рисования прямоугольника вызывается именно так: Rectangle(). Он получает координаты краев прямоугольника либо отдельно, либо в виде записи TRect. Цвет заливки определяется цветом кисти Brush холста, а цвет границы задается цветом пера Pen холста:

Использование шрифта по-умолчанию

Это может быть выполнено с помощью следующего простого кода:

Рисование текста, ограниченного по ширине

Используйте процедуру DrawText сначала с параметром DT_CALCRECT, а затем без него.

Рисование текста с четкими краями (без сглаживания)

Некоторые виджеты поддерживают этот способ с помощью свойства

Но некоторые виджеты, например из набора gtk2, не поддерживают это свойство и всегда отображают текст сглаженным. Вот простая процедура для рисования текста с четкими краями для gtk2. В ней не рассмотрены все случаи, но в ней предлагается идея:

Как нарисовать окружность в лазарусе

IDE Lazarus, Free Pascal, CodeTyphon .

Form1.Canvas.Ellipse(80, 80, 150, 150) ;

Ellipse (x1, y1, x2, y2) – эллипс вписывается в прямоугольник, с координатами верхнего левого угла (x1,y1) и правого нижнего (x2,y2). если он квадрат то будет круг

Аслан Усманов

Аслан Усманов ответил Сообществу

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *