69104

Ініціалізація графічного режиму

Лекция

Информатика, кибернетика и программирование

Відеоадаптер персонального комп’ютера може працювати в одному із двох режимів - текстовому або графічному. У текстовому режимі на екрані дисплея відображаються лише символи. У графічному режимі мінімальним елементом зображення на екрані дисплея є піксел, або графічна точка.

Украинкский

2014-09-30

52 KB

0 чел.

Лекція 13. Тема:Ініціалізація графічного режиму.

План:

1. Ініціалізація графічного режиму

2. Графічне вікно та система координат

1. Ініціалізація графічного режиму

Відеоадаптер персонального комп’ютера може працювати в одному із двох режимів - текстовому або графічному. У текстовому режимі на екрані дисплея відображаються лише символи. У графічному режимі мінімальним елементом зображення на екрані дисплея є піксел, або графічна точка. Зауважимо, що Windows-програми працюють лише у графічному режимі, а використання текстового режиму - є характерним для DOS-програм. Коли програму, що працює у текстовому режимі, запускають із середовища Windows, режим відеоадаптера може залишатися графічним, а текстовий режим буде земульований у межах вікна програми. Такий режим виконання DOS-програми називається віконним. Повноекранний режим виконання DOS-програми полягає у встановленні потрібного відеорежиму під час її запуску і у поверненні до початкового відеорежиму після завершення роботи. DOS-програма, що працює з графікою, може бути виконана лише у повноекранному режимі. Надалі у цьому розділі ми розглядатимемо лише графічні DOS-програми.

Програма, що працює у графічному режимі, використовує графічні драйвери -файли, що містять інформацію про властивості відеоадаптерів. У середовищі Borland Pascal 7.0 графічні драйвери зберігаються у файлах, які мають розширення bgi (Borland Graphics Interface).

Для різних типів відеоадаптерів використовуються різні графічні. драйвери. Визначальними характеристиками відеоадаптера є роздільна здатністъ, що визначається кількістю пікселів на екрані у горизонтальному та вертикальному вимірі, і кількістъ кольорів, якими може бути відображений будь-який піксел. Усі сучасні дисплейні адаптери належать до класу SVGA (Super Video Graphics Array). Вони мають граничну роздільну здатність понад 640x480 пікселів та дозволяютъ використовувати не менш ніж 256 кольорів. Для роботи із SVGA-адаптерами придатні драйвери svga256.bgi i egavga.bgi. Драйвер egavga.bgi не підтримує відео режими із роздільною здатністю, що перевищує 640x480 пікселів, проте його використання гарантує сумісністъ програми майже із будь-яким графічним адаптером. Під час створення програм даного розділу припускатимемо, що використовуєся саме драйвер egavga.bgi.

Крім графічних драйверів, під час роботи з графікою в середовищі Borland Pascal 7.0 використовується стандартний бібліотечний модуль Graph. Він є бібліотекою підпрограм, що містять біля 80 графічних процедур і функцій, а також десятки стандартних констант і оголошень типів даних. Модуль  Graph підключається до програми за допомогою оператора uses:

uses Graph;

Модуль Graph міститься у файлі ...\units\graph.tpu, і щоб забезпечити можливість роботи із графікою, цей файл потрібно зробити досяжним для компілятора Для цього шлях до файла модуля Graph слід записати в полі Unit Directories вікна, яке відкривається за допомогою команди OptionsDirectories.

Перед тим як виводити певні зображення, слід ініціалізувати графічний режим. Ініціалізація графічного режиму виконується процедурою, яка завантажує до оперативної пам'яті графічний драйвер і переводить адаптер у графічний режим роботи:

InitGraph (var GraphDriver: Integer; var GraphMode: Integer; PathToDriver: string);

Параметри процедури мають такий зміст:  GraphDriver – тип графічного драйвера,  GraphMode - графічний режим роботи адаптера,  PathToDriver - шлях до каталогу, де зберігаються файли *.bgi (якщо не задане значення останнього параметра, пошук здійснюється у робочому каталозі програми). Зазначимо, що один bgi-файл може містити драйвери декількох типів. Для визначення типу драйвера в модулі Graph оголошено константи. Деякі з цих оголошень наведено нижче:

const Detect=0; CGA=1; EGA=3; VGA=9;

Більшість дисплейних адаптерів може працювати в різних режимах. Потрібний режим роботи визначається параметром GraphMode, значення якого для драйвера  VGA задається такими константами:

const

  VGALo=0;  {640*200}

  VGAMed=1; {640*350}

  VGAHi=2;  {640*480}

Для автоматичного визначення графічного драйвера використовується константа Detect. У цьому разі процедура InitGraph звертається до процедури DetectGraph:

DetectGraph (var GraphDriver, GraphMode: Integer);

Процедура  DetectGraph повертає значення графічного драйвера та графічного режиму для даного типу адаптера, передаючи їх процедурі Initgraph. У разі збою під час ініціалізації графічного режиму функція GraphResult повертає код помилки. Наведемо коди типових помилок.

const

GrOk          =0;  {помилок немає}

GrInitGraph         =1;  {не ініціалізовано графічний режим}

GrNotDetect         =-2;  {не визначено тип драйвера}

GrFileNotFind        =-3;  {не знайдено графічний драйвер}

GrInvalidDriver      =-4;  {некоректний тип драйвера}

GrError         =-11;  {загальна помилка}

GrInvalidFontNum =-14;  {некоректний номер шрифту}

Процедура CloseGraph змінює графічний режим відеоадаптера на текстовий. Для тимчасового переходу з графічного режиму в текстовий використовується процедура RestoreCrtMode, а повернення з текстового режиму у графічний здійснює процедура SetGraphMode (Mode: Integer). Загальну схему роботи графічної програми демонструє приклад 5.1.

Приклад 5.1.

uses graph;      {підключення графічного модуля}

var grdriver;      {графічний драйвер}

  grmode: integer;     {графічний режим}

begin

  grdriver:=Detect;     {визначити драйвер автоматично}

  Initgraph (grdriver, grmode, ‘’);   {ініціалізація графіки}

  if GraphResult=0 then    {ініціалізація неуспішна}

     begin

        writeln (‘помилка графіки’); halt(1);

     end else      {ініціалізація є успішною}

        begin

           {…}      {виклик графічних процедур}

           CloseGraph;     {повернення до текстового режиму}

        end;

end.

2. Графічне вікно та система координат

Для виведення графічного зображення використовується координатний метод. Згідно з цим методом кожна точка на екрані задається двома прямокутними координатами. У режимі VGA лівий верхній кут екрана має координати (0,0), правий нижній - (639,479). Функцїї GetMaxX та GetMaxУ повертають максимальні значення координат по горизонталі (X) та по вертикалі (У) в поточному режимі роботи адаптера. Координати піксела по горизонталі та вертикалі визначаються функциями  GetX та GetУ.

Система координат відеоадаптера має певні відмінності від декартової системи координат. По-перше, як уже зазначалося, вертикальні координати точок адаптера збільшуються зверху вниз. По-друге, координати пікселів можуть бути лише цілочисловими. По-третє, зображення на екрані може розтягуватися. Якщо на екрані зобразити коло, в деяких відео режимах воно виглядатиме як еліпс.

У загальному випадку формули перетворення декартових (логічних) координат (dX, dY) в екранні (X, Y) враховують масштаб зображення, а також його горизонтальний і вертикальний зсув відносно лівого верхнього кута екрана:

mX=ωX div ωdX,

mY=hY div hdY,

Тут mХ, mУ — масштаб по горизонталі і вертикалі; ωX, hY - ширина і висота області зображення в екранних координатах; ωdX,  hdY — ширина і висота області зображення в декартових координатах; ,  - зсув початку координат;  -ціла частина х.

Для обмеження області виведення эображення можна створити прямокутне графічне вікно:

SetViewPort (x1, y1, x2, y2: Integer; Clip: Boolean);

Параметри х1, у1, х2, у2 процедури  SetViewPort є координатами лівого верхнього та правого нижнього кутів графічного вікна. Для відсікання зображення за межами графічного вікна параметру  Clip надається значення clipon, а для його продовження — значення clipoff.

Очищення графічного вікна здійснює процедура ClearViewPort, а очищения всього екрана та заповнення його кольором фону - процедура С1еагDevice.

Контрольні питання

1. Ініціалізація графічного режиму

2. Графічне вікно та система координат


 

А также другие работы, которые могут Вас заинтересовать

45283. Каналы сигнализации и трафика в системе GSM (состав принципы использования) 88.5 KB
  Каналы сигнализации и трафика в системе GSM состав принципы использования. Очевидно что использование радиоканалов в мобильной сети GSM отличается от их применения в стационарной сети. Принцип использования каналов в системе GSM показан на рис. В стационарной сети абонентские линии абонентские каналы трафика закреплены за телефонным аппаратом.
45284. Коммутация в GSM (пример обслуживания вызова от абонента ТфОП к абоненту мобильной сети) 88 KB
  Обслуживание вызова от абонента стационарной сети к абоненту мобильной сети GSM В рассматриваемом примере порядок действий следующий: Входящий вызов поступает от стационарной сети ТфОП на вход шлюза MSC GMSC Gtewy MSC. Он передается назад в HLR GMSC. Затем соединение переключается к соответствующему MSC. MSC вырабатывает запрос VLR.
45285. Частотный план сетей UMTS/LTE и его развитие в LTE Advanced. Архитектура сети LTE. Назначение подсистем и узлов. Отличия от сети UMTS. Протоколы интерфейса S1 сети LTE 977 KB
  Для внедрения решений ВКР-07 по системам мобильной связи семейства IMT (LTE) рабочие группы Партнерского проекта 3GPP и ETSI определили в технических спецификациях 17 полос радиочастот для режима FDD и 8 полос для режима TDD (табл. 2.7) 124]. Кроме того, эти диапазоны также входят в число диапазонов, определенных в рекомендациях МСЭ для развития сетей мобильного беспроводного доступа третьего и четвертого поколени2
45286. Эталонная архитектура базовой сети LTE. Функции базовой сети SAE. Взаимодействие сети LTE с другими сетями. Физические, транспортные и логические, каналы сети E-UTRAN вниз и вверх 12.45 MB
  Эталонная архитектура базовой сети LTE. Функции базовой сети SE. Взаимодействие сети LTE с другими сетями. Физические транспортные и логические каналы сети EUTRN вниз и вверх.
45287. Эволюция стандартов и технологий мобильной связи. Концепции технологии 4G и IMS 737.5 KB
  Технология кодового разделения каналов CDM благодаря высокой спектральной эффективности является радикальным решением дальнейшей эволюции сотовых систем связи.51 Эволюция технологий мобильной связи WCDM считается стандартом 3G в эволюционном развития GSM систем. GSM системы поддерживают скорость передачи данных не более 96 кбит с это позволяет предоставлять пользователям услуги голосовой связи и SMS.
45288. Системы мобильной связи стандарта 802.16e. Назначение, характеристики, реалии внедрения. Механизмы безопасности WiMAX 317.9 KB
  Механизмы безопасности WiMX. Мифы: цена оборудования 150200; скорость до 70 Мбит с на полосе 20 МГц; на расстоянии 510 км до 50 км; неограниченное число клиентов; клиентское оборудование будет работать с любым оборудованием WiMX. скорость PreWiMX до 48 Мбит с. Характеристики Мобильный WiMX – система б пров.
45289. Три этапа планирования сетей связи. Отличия в планировании сетей GSM, WCDMA и LTE 31.83 KB
  Алгоритм частотнотерриториального планирования сети радиосвязи. Первый этап планирования заключается в подготовке электронной карты местности ЭКЧ содержащей данные описывающие рельеф местности застройку территории лесные и водные массивы и в получении надежных данных в отношении: высоты местности морфоструктруры землепользование распределения населения транспортных потоков и других факторов влияющих на плотность трафика прогноза числа абонентов требований к рабочим характеристикам для обеспечения соответствующего качества...
45290. Концепция системы показателей качества услуг сетей мобильной связи (СМС). Международная стандартизация требований к качеству услуг. Государственная система стандартизации и контроля качества в РФ 222.5 KB
  Концепция системы показателей качества услуг сетей мобильной связи СМС. Конкуренция между операторами связи на национальных и международных телекоммуникационных рынках выдвигает проблему качества услуг связи на одно аз первых мест и следовательно появляется необходимость стандартизировать требования к качеству и методам его измерения. Стандартизация систем управления качеством услуг связи необходима для контроля над качеством технологических процессов их предоставления и согласования возможностей сетей общего пользования принадлежащих...
45291. Критерии и технические показатели, применяемые в международной стандартизации качества. Критерии, параметры, индикаторы, технические и организационные показатели качества работы СМС в системе стандартизации «Связь-качество» 283.27 KB
  Критерии и технические показатели применяемые в международной стандартизации качества. Критерии параметры индикаторы технические и организационные показатели качества работы СМС в системе стандартизации Связькачество. При выборе совокупности показателей качества следует иметь в виду что выбранные услуги важны для конечного пользователя и широко применяюсь большинством сетевых операторов. Отсюда следует что показатели качества должны: оказывать основное влияние на удовлетворение потребностей абонентов в области услуг связи;...