4916

BGI графика

Доклад

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

BGI графика. В языках программирования специальных средств для создания графических приложений не было. Единственная возможность выводить графику на экран была только при помощи использования функции bios прямого обращения к видимой памяти. Задача д...

Русский

2012-11-29

15.2 KB

48 чел.

BGI графика.

В языках программирования специальных средств для создания графических приложений не было. Единственная возможность выводить графику на экран была только при помощи использования функции bios прямого обращения к видимой памяти. Задача довольно трудная и не все программисты за неё брались. Поэтому фирма Borland решила разработать библиотеку графических функций для своих компиляторов turbo pascal u turbo C, а библиотека получила название BGI. Данная библиотека позволяет переключать DOS-экран из текстового режима в графический и обратно. Переключение производится с указанием драйвера и требуемого режима.

Т.к. это было 20 лет назад, то никаких 1280х1024 и 16 млн. цветов там нет. Драйвер CGA поддерживает 320х200 и 4 цвета (красный желтый зеленый черный либо CMYK) есть ещё режим 640х200, но всего 2 цвета- черный и белый. Когда появились EGA-мониторы, в библиотеку Borland были добавлены соответствующие драйвера. Появилась возможность использовать 16 цветов с выбором этих 16 из палитры 256. Затем появился драйвер EGA64 c возможностью поддерживать 64 цвета. Когда появились мониторы VGA , драйвер обновили до EGAVGA(640х480). Последними драйверами были драйвера VESA . Использование этих драйверов более сложное, но зато они  позволяют использовать разрешения до 1024х768 и 256 цветов.

BGI графика очень медленная. Делать на ней игры невозможно. В современной графике для оконных приложений скорость немногим выше. Это GDI, разработанная Microsoft.

Основные функции BGI графики

  1. Вывод текста

Write и writeln не работают (за редким исключением). В графическом режиме используется специальная функция для вывода текста по указанным координатам, с указанным шрифтом и цветом.

  1. Функция для отображения точек.( SetPixel(координата, цвет))
  2. Рисование линий.

Линия между 2мя точками и линия из текущего положения в указанную точку.

  1. Рисование прямоугольников(rectangle) и закрашенных прямоугольников(bar).
  2. Окружности и эллипсы.

Переход в графический режим.

Для этого используется функция InitGraph(драйвер, режим, путь к драйверу) Если драйвер лежит рядом с программой, то путь не нужен ( ‘ ‘ )

Например: InitGraph(VGA,VGAHI,’ ’);

Графический режим может не инициализироваться. Продолжение работы программы в этом случае вызовет ошибку. Следовательно, нужно проверить, инициализировался он или нет. Для этого используется Const: GraphResult. Если 0- ошибок нет. Если не 0, то там ошибки.

  1. Для функции вывода текста используется функция OutText(координата Х, координата Y , Сам текст в кавычках ): текст будет рисоваться текущим шрифтом, текущим цветом.
  2. Для установки цвета- SetColor(номер цвета).
  3. Для установки шрифта- SetTextStyle(№, размер, стиль начертания).
  4. Для рисования линий- Line(x1,y1,x2,y2) либо LineTo(x,y).
  5. Переместить указатель в текущую точку- MoveTo(x,y)
  6. Рисование прямоугольников- Rectangle(x1,y1,x2,y2) –координаты 2х углов прямоугольника. Закрашенный прямоугольник- Bar(x1,y1,x2,y2).
  7. Установить стиль закрашивания SetFillStyle(
  8. Окружность. Circle(x,y,R)

 

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

29364. Хеш – адресация в информационных таблицах 51.5 KB
  В основе организации таблиц с хешадресацией лежит процедура хеширования. Хеширование преобразование символьного имени идентификатора в числовой индекс элемента таблицы с помощью простых арифметических и логических операций.Конкретный способ хеширования задает хешфункция.
29365. Методы вычисления хеш-функции 24 KB
  Хорошая хешфункция распределяет вычисляемые индексы элементов в таблице равномерно по всей таблице чтобы уменьшить количество возникающих коллизий. Лучший результат дает использование в качестве хешфункции кода последнего символа имени.В трансляторах хешфункция является более сложной и зависит как от кодов внутреннего представления символов имени так и от его длины.
29366. Разрешения коллизий в хеш-таблицах методом рехеширования 31.5 KB
  Является не пустым возникает коллизия которую надо устранить путём выбора другой ячейки таблицы для имени S. Выбор такой ячейки производится:h1 = h p1mod N p1 некоторое приращение. Если элемент таблицы h1 тоже не пустой то рассматривается новый элемент:h2 = h p2mod N hi = h pimod N до тех пор пока не будет найден элемент таблицы что1 элемент пустой тогда имя S в таблице отсутствует и записывается в таблице под инд. элементами таблицы должно быть минимальным. p1 = 1 p2 = 2 pi =...
29367. Реализация операций поиска и записи в хеш-таблицах по методу цепочек 27 KB
  на размер таблицы т. ситуация переполнения таблицы отсутствует.Для реализации метода цепочек необходимо следующее: таблица имён с дополнительным полем связи которое может содержать либо 0 либо адреса других элементов этой же таблицы. последнего записанного элемента таблицы.
29369. зыки проектирования как составная часть лингвистического обеспечения САПР 29.5 KB
  Языки проектирования языки предназначенные для описания информации об объекте и процессе проектирования. а Входные языки предназначены для задания исходной информации об объектах и целях проектирования. Эти языки представляют собой совокупность языков описания объектов описания заданий и описания процессов.
29370. Определение формальной грамматики 49 KB
  Конечное множество символов неделимых в данном рассмотрении в теории формальных грамматик называется словарем или алфавитом а символы входящие в множество буквами алфавита. Последовательность букв алфавита называется словом или цепочкой в этом алфавите. Если задан алфавит A то обозначим A множество всевозможных цепочек которые могут быть построены из букв алфавита A. Формальной порождающей грамматикой Г называется следующая совокупность четырех объектов: Г = { Vт VA I VA R } где Vт терминальный алфавит словарь; буквы этого...
29371. Классы формальных грамматик 47 KB
  В теории формальных языков выделяются 4 типа грамматик которым соответствуют 4 типа языков. Эти грамматики выделяются путем наложения усиливающихся ограничений на правила грамматики Грамматики типа 0 Грамматики типа 0 которые называют грамматиками общего вида не имеют никаких ограничений на правила порождения. Грамматики типа 1 Грамматики типа 1 которые называют также контекстнозависимыми грамматиками не допускают использования любых правил. Грамматики типа 1 значительно удобнее на практике чем грамматики типа 0 поскольку в левой части...
29372. Синтаксические диаграммы 53 KB
  Каждое появление терминального символа x в цепочке ai изображается на диаграмме дугой помеченной этим символом x заключенным в кружок. Каждому появлению нетерминального символа A в цепочке ai ставится в соответствие на диаграмме дуга помеченная символом заключённым в квадрат.an изображается на диаграмме следующим образом: 5. an изображается на диаграмме так: 6.