На цій сторінці можна познайомитись з основними принципами побудови зображень у середовищі Lazarus.
Яким чином будується зображення на екрані монітора? Щоб зрозуміти це, достатньо подивитись на маленьке зображення папуги, а потім клікнувши по ньому, роздивитись збільшене.
Що ми побачимо? Наше зображення побудоване із маленьких квадратиків. Чим менші ці квадратики, тим чіткіше зображення ми можемо побачити. Саме ця схема побудови зображень закладена у сучасних моніторах. Увесь екран монітора - це велика кількість дрібних квадратиків(точок), що називаються пікселі. І кожен з цих пікселів може відображати якийсь колір. Тобто можна розглядати наш монітор як таблицю де кожна клітинка зафарбована якимось кольором у той чи інший момент часу. Дивлячись на малюнок нижче я впевнений більшість бачить три чорні літери на сірому фоні. Але якщо клацнути по малюнку можна побачити дещо інше.
Як бачимо у реальному зображенні частина пікселів "світяться" чорним кольором, а решта пікселів світяться червоним, зеленим чи синім кольором. Проте ми не будемо зараз заглиблюватись у технології і відповідати на питання чому так, а для себе зробимо висновки:
psSolid | - суцільна лінія; |
psDash | - штрих; |
psDot | - пунктир; |
psDashDot | - штрихпунктир; |
psDashDodDot | - Штрих і два пунктира; |
psClear | - невидима лінія. |
bsSolid | - суцільне заповнення; |
bsHorizontal | - горизонтальні лінії; |
bsVertical | - вертикальні лінії; |
bsFDiagonal | - діагональні лінії; |
bsCross | - решітка; |
bsDiagCross | - діагональна решітка. |
fsBold | - напівжирний; |
fsItalic | - курсив; |
fsUnderline | - підкреслений |
fsStrikeOut | - закреслений; |
Для побудови зображень використовуються методи (процедури), що входять до класу TCanvas і дозволяють нам побудувати наступні примітиви:
Clear - очистити Canvas.
Приклад: Form1.Canvas.Clear;
MoveTo(X, Y: Integer); - переміщує курсор у вказані координати.
Приклад: Form1.Canvas.MoveTo(10, 10); - переміщує курсор введення в точку яка віддалена від лівого верхнього кута форми на 10 пікселів по Х (вліво) і 10 пікселів по Y (вниз)
LineTo(X, Y: Integer); - будує лінію із поточної точки в точку з коодинатами X, Y.
Line(X1, Y1,X2,Y2: Integer); - будує лінію із точки (x1,y1) у точку з коодинатами (x2,y2).
Rectangle(X1, Y1, X2,Y2 : Integer); - малює прямокутник у якого лівий верхній кут знаходиться в X1, Y1, а правий нижній кут має координати X2,Y2.
Ellipse(X1, Y1, X2, Y2:Integer); - малює еліпс вписаний в прямокутник з координатами X1, Y1, X2, Y2. (див. попередній метод).
Polygon(const Points:array of TPoint); - малює замкнутий контур (багатокутник) у якого вершини мають координати задані як Point(X,Y).
Приклад: Form1.Canvas.Polygon ([Point(10,10), Point(30,30),Point(20,40)]);
Слід зауважити, що остання вершина автоматично з’єднається з першою утворивши замкнену область