Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Методички » Графіка в Delphi

Реферат Графіка в Delphi





авлений на рис.4.1 а. Графік синусоїди вийшов, хоча і не дуже хороший, тому що розбивається на окремі точки - пікселі. br/>

Рис.4.1 Графік синусоїди, побудований за пікселям (а) і лініями (б) а) б)

Канва - об'єкт класу TCanvas має безліч методів, які дозволяють малювати графіки, лінії, фігури за допомогою властивості Pen - перо. Ця властивість є об'єктом, у свою чергу мають ряд властивостей. Одне з них вже відоме вам властивість Color - колір, яким наноситься малюнок. Друга властивість - Width (ширина лінії). Ширина задається в пікселях. Типово ширина дорівнює 1.

Властивість Style визначає вид лінії. Ця властивість може приймати такі значення:


psSolid Суцільна лінія psDash Штрихова лінія psDot Пунктирна лінія psDashDot Штрих-пунктирна лінія psDashDotDot Лінія, чергуйте штрих і два пунктиру psClear Відсутність лінії psInsideFrame Суцільна лінія, але при Width> 1 допускає кольори, відмінні від палітри Windows

У канви є властивість PenPos типу TPoint (см .) . Ця властивість визначає в координатах канви поточну позицію пера. Переміщення пера без промальовування лінії, тобто зміна PenPos , проводиться методом канви MoveTo (X, Y). Тут ( X, Y) - координати точки, в яку переміщається перо. Ця поточна точка стає вихідною, від якої методом LineTo (X, Y) можна провести лінію в точку з координатами ( X, Y). При цьому поточна точка переміщається в кінцеву точку лінії і новий виклик LineTo буде проводити точку з цієї нової поточної точки.

Давайте спробуємо намалювати пером графік синуса з попереднього прикладу. У даному випадку обробник події форми OnPaint може мати вигляд:


procedure TForm1. FormPaint (Sender: TObject);

var , Y: real;// координати функції , PY: longint;// координати пікселів

begin : = clWhite,. MoveTo (0, ClientHeight div 2);

for PX: = 0 to ClientWidth do

begin

{X - аргумент графіка,

відповідний пікселю з координатою РХ} : = PX * 4 * Pi/ClientWidth;: = Sin (X);

{PY - координата пікселя,

відповідна координаті Y} : = trunc (ClientHeight - (Y +1) * ClientHeight/2);

{Проводиться лінія на графіку} . LineTo (PX, PY);

end ;

end ;


Результат роботи програми в цьому варіанті ви можете бачити на рис.4.1 б. Як бачите, якість графіка істотно покращився. p> Перо може малювати не тільки прямі лінії, але і фігури. Повний список методів канви, що використовують перо, див у вбудованій довідці Delphi. А поки в якості прикладу наведемо тільки один з них - Ellipse , який малює еліпс або коло. Він оголошений як


procedure Ellipse (X1, Y1, Х2, Y2: Integer);


де параметри X1, Х2, Y1, Y2 визначають координати прямокутника, що описує еліпс або коло. Наприклад, оператор

. Ellipse (10, 40, 20, 50);


намалює коло з діаметром 10 і з координатами центру (15, 45).

Фігури в загальному випадку малюються не пустими, а зафарбованими за допомогою властивості канви Brush - кисть. Властивість Brush є об'єктом, що має у свою чергу ряд властивостей. Властивість Color визначає колір заповнення. Властивість Style визначає шаблон заповнення (штрихування). За замовчуванням значення Style одно bsSolid , що означає суцільне зафарбовування кольором Color . p> У пера Pen є ще одна властивість, яке ми поки не розглядали. Це властивість - Mode (режим). За замовчуванням значення Mode = pmCopy . Це означає, що лінії проводяться кольором, заданим у властивості Color . Але можливі й інші режими, в яких враховується не тільки колір Color , але і колір відповідних пікселів фону. Найбільш цікавим з цих режимів є режим pmNotXor - додавання з фоном по інверсному виключає АБО. Якщо заданий цей режим, то повторне малювання тієї ж фігури на тому ж місці канви прибирає раніше намальоване зображення і відновлює кольору пікселів, які були до першого зображення фігури. p> Цю особливість режиму pmNotXor можна використовувати для створення простенької анімації. Досить намалювати щось, потім стерти намальоване, перемалювати трохи зміненим - і малюнок буде представлятися ожи...


Назад | сторінка 2 з 11 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Будова і властивість матеріалів. Кристалічну будову. Вплив типу зв'яз ...
  • Реферат на тему: Спорідненість і властивість
  • Реферат на тему: Рефлексивність як властивість особистості
  • Реферат на тему: Смислогенез як властивість культури
  • Реферат на тему: Емпатія як властивість особистості