4916

BGI графика

Доклад

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

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

Русский

2012-11-29

15.2 KB

45 чел.

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)

 

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

11887. Задача быстродействия 258 KB
  Лабораторная работа №2 по дисциплине: Проектирование автоматизированных систем на тему: Задача быстродействия Цель работы: исследование предельных возможностей системы авторегулирования обусловленных ограничением величины управляющего сигнала. О...
11888. Задача быстродействия. Несколько управляющих воздействий 205 KB
  Лабораторная работа №3 по дисциплине: Проектирование автоматизированных систем на тему: Задача быстродействия. Несколько управляющих воздействий Цель работы: решение задачи быстродействия в пространстве состояний. Необходимо ограниченное управление ut
11889. Управление в пространстве состояний при неполной информации 1.09 MB
  Лабораторная работа №4 по дисциплине: Проектирование автоматизированных систем на тему: Управление в пространстве состояний при неполной информации Цель работы: решение задачи синтеза линейной системы стабилизации в пространстве состояний. Общие св...
11890. Корни многочленов 87 KB
  Лабораторная работа №5 по дисциплине: Проектирование автоматизированных систем на тему: Корни многочленов Цель работы: вычислить корни многочлена не выше 20го порядка и восстановить многочлен по заданным корням. Общие сведения: Вычисление корней мн
11891. Обратное преобразование Лапласа 47 KB
  Лабораторная работа №6 по дисциплине: Проектирование автоматизированных систем на тему: Обратное преобразование Лапласа Цель работы: вычислить аналитическое выражение для обратного преобразования Лапласа дробнорациональной функции и построить график.. ...
11892. Выбор типа камеры и условий съемки в зависимости от задачи исследования и характера исследуемого объекта 4.35 MB
  ЛАБОРАТОРНАЯ РАБОТА № 2 Выбор типа камеры и условий съемки в зависимости от задачи исследования и характера исследуемого объекта Рентгеновские камеры Рентгеновской камерой называют устройство позволяющее регистрировать на фотопленке рентгеновские максим
11893. Определение кальция методом стандартных добавок 443.5 KB
  Лабораторная работа №104 Определение кальция методом стандартных добавок. Краткое теоретическое введение: Фотометрия пламени вид эмиссионного спектрального анализа в котором источниками возбуждения спектров являются пламена различных видов: ацетиленвоздух...
11894. Определение фосфора (ортофосфатов) в виде фосформолибденованадиевой гетерополикислоты 204 KB
  Лабораторная работа №107 Определение фосфора ортофосфатов в виде фосформолибденованадиевой гетерополикислоты. Краткое теоретическое введение: Методы молекулярной спектрометрии позволяют наблюдать результаты взаимодействия электромагнитного излучения с мо...
11895. Титрование цинка (II) раствором ЭДТА в присутствии индикатора эриохрома черного Т. 244 KB
  Лабораторная работа №110 Титрование цинка II раствором ЭДТА в присутствии индикатора эриохрома черного Т. Краткое теоретическое введение: Методы молекулярной спектрометрии позволяют наблюдать результаты взаимодействия электромагнитного излучения с молекула