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)

 

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

75872. Роль контексту у лінгвістичному забезпеченні інформаційних систем 27.29 KB
  К сфере лингвистического обеспечения мы относим три основные задачи которые должны решаться при создании любой автоматизированной библиотечной системы структуризация библиографической записи индексация библиографической записи средствами...
75873. Класифікація видів перекладу за характером діяльності, швидкістю та напрямком 43.5 KB
  Существуют две основных классификации видов перевода: по характеру переводимых текстов по характеру речевых действий переводчика в процессе перевода. Рассмотрим классификацию по характеру действий переводчика а конкретно различия между письменным и устным переводом: В письменном переводе переводчик не ограничен жесткими временными рамками он может в любой момент прервать перевод вернуться к уже переведенному отрезку речи потратить дополнительное время на...
75875. Структура гіпертексту. Поняття про гіперлінки, вузли, маршрут 30.22 KB
  Феномен гипертекста можно обсуждать с нескольких точек зрения. Гипертекст автора в традиционном понимании не имеет у него множество авторов причем для постоянно изменяющегося гипертекста авторский коллектив также постоянно меняется. Различия текста и гипертекста: конечность законченность традиционного текста vs. бесконечность незаконченность открытость гипертекста; линейность текста vs.
75876. Лингвистические фреймы 26.66 KB
  Лингвистические фреймы. Термин фрейм получил распространение в лингвистике в 70е годы XX века и с тех пор обрел довольно широкое и устойчивое применение. Несмотря на то что термин фрейм используется в различных областях научной деятельности значение его практически не меняется в зависимости от контекста. Первоначально термин фрейм от англ.
75877. Методи викладання іноземної мови. Комунікативно-спрямований підхід 36.5 KB
  В період післявоєнних десятиліть формується характерна тенденція до і посилення комунікативної спрямованості навчального процесу — його наближення до реального процесу спілкування. Розробкою комунікативного методу в тій чи іншій мірі займалось багато наукових колективів та методистів у різних країнах
75878. Методи викладання іноземної мови. Комунікативно спрямований підхід 32.22 KB
  Перекладні методи: Граматикоперекладний навчання граматики у ході читання тексту та його дослівного перекладу. Мета навчання спілкування. Переважає усне мовлення на основі комунікативних ситуацій навчання фонетики лексики. Переваги:розробка методики навчання усного мовлення системи фонетичних вправ використання різних безперекладних способів семантизації лексики.
75879. Проблеми перекладу в аспекті семантики. Види відношень одиниць вихідної мови та мови перекладу (повна та часткова відповідальність, пересічення, включення) 54.5 KB
  В первую очередь, понятие уровня перевода связано с распространенным в теории перевода понятиями “эквивалентного” (иначе - “адекватного”), “буквального” и вольного перевода. Вообще говоря, понятие переводческой эквивалентности, также как и буквализма и переводческой вольности, не сводиться видимо