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

Реферат Модуль Graph в програмі Turbo Pascal





>)

повертає в змінних A і B значення, ставлення яких (А/В) соответсвует коефіцієнту стиснення зображення. У модулі Graph немає жодного речового параметра (що підвищує швидкодію), тому всі нецілі значення представляються як відношення двох цілих.

Інша процедура,

SetAspectRatio (А, В: Word )

Дозволяє змінювати поточний коефіцієнт стиснення на коефіцієнт, рівний (А/В). Перепризначення коефіцієнта стиснення впливає на роботу всіх процедур, які виводять окружності, еліпси, дуги і на значення параметрів, що повертаються при виклику процедури GetAspectRatio. Побудувати ж правильний квадрат можна, Домножимо його вертикальний розмір на вихідний (системний) коефіцієнт стиснення.

{ Побудова квадрата }

Program QuadroDem;

Uses Graph;

const l = 100;

Var

d, r, e: integer;

a, b: word;

Begin

d: = Detect;

InitGraph (d, r,'');

e: = GraphResult;

if e <> grOk then

writeln (GraphErrorMsg (e))

else

begin

GetAspectRatio (a, b);

Rectangle (20,20, round (l * (b/a)), l);

readln;

CloseGraph;

end

End.

Кола , еліпси і дуги


Для зображення кіл використовується процедура

Circle ( x , у: Integer ; Radius : Word )

Тут (X, Y) - Координати центру кола, Radius - її радіус. Результатом її роботи буде окружність, якщо коефіцієнт зображення відповідає прийнятому BGI-драйвером для поточного графічного режиму. В іншому випадку на екрані з'явиться еліпс, витягнутий по вертикалі (коефіцієнт стиснення більше прийнятого за замовчуванням) або по горизонталі (Коефіцієнт менше прийнятого). p> У модулі Graph представлені процедури малювання еліпсів, дуг, секторів і процедура, що дозволяє малювати сектор, залитий по заданому шаблоном. Всі вони запитують параметри StartAngle і EndAngle , які позначають початковий і кінцевий кут дуги. На малюнку зображена система графічних координат, в якій ми працюємо.


В 





Позитивний напрямок осі X (зліва направо) прийнято за 0 В°, негативне напрямок осі Y - за 90 В°, тобто кути відміряються від позитивного напрямку осі X проти годинникової стрілки. Всі значення цих параметрів даються в градусах.

Нижче перераховані процедури розглянутого класу:

Малювання дуги радіуса Radius з центру з координатами (X, Y) від кута StartAngle до EndAngle :

Arc (X, Y: Integer; StartAngle, EndAngle, Radius: Word)

При зміні коефіцієнта стиснення зображення вид виведених дуг буде відрізнятися від правильних кіл.

Малювання еліптичної дуги з аналогічними параметрами:

Ellipse (X, Y: Integer; StartAngle, EndAngle, XRadius, YRadius: Word)

де XRadius і YRadius - розміри горизонтальної та вертикальної піввісь відповідно. Осі еліпса можуть бути тільки паралельні осях X і Y. Для зображення повного еліпса треба задавати кути 0 В° і 360 В°. Значення коефіцієнта стиснення зображення не впливає на його вигляд.

Кутові параметри дуже незручні для нашої системи координат - ми можемо визначити координати початку і кінця дуг кола або еліпса не інакше, як тільки використовуючи відомі тригонометричні вирази. Але в подібних обчисленнях немає необхідності, оскільки ці координати все одно відомі усередині процедур Arc , Ellips , Sector і PieSlice .

Витягти кінцеві координати дуг дозволяє процедура

GetArcCoords (VAR ArcCoords : ArcCoordsType )

Тип ArcCoordsType оголошений в модулі Graph таким чином:

TYPE

ArcCoordsType = RECORD

X, Y

: Integer;

{центр}

XStart, YStart

: Integer;

{початок}

XEnd, YEnd

: Integer;

{кінець}

END ;

Розглянута процедура повертає результати останнього дзвінка процедури малювання дуги або сектора. <В  Побудова прямокутників і ламаних

Для побудови прямокутника досить викликати процедуру Rectangle (Х1, Y 1, Х2,


Назад | сторінка 10 з 19 | Наступна сторінка





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

  • Реферат на тему: Визначення параметрів такту стиснення і механічного шуму двигуна автомобіля ...
  • Реферат на тему: Коефіцієнт лобового опору корпусу безкрилого ЛА при надзвукових швидкостях ...
  • Реферат на тему: Розробка програми з використанням OpenGL для динамічного зображення тривимі ...
  • Реферат на тему: Стиснення даних
  • Реферат на тему: Розтягнення - стиснення