Программирование на C и C++

Онлайн справочник программиста на C и C++

Функции для работы с текстом и графикой

Стандарт ANSI С не определяет функции для работы с текстом или графикой в первую очередь потому, что имеется широкое разнообразие аппаратных средств, чем затрудняется стандартиза­ция. Тем не менее Borland С++ обеспечивает широкую поддержку работы с экраном и графикой для 16-разрядной среды DOS. Если используется DOS и нет необходимости переносить код на другой компилятор, то можно свободно использовать эти функции. Однако следует иметь в виду, что ни одна из описанных в этой главе функций не может быть использована для Windows пpoграммирования. Графический вывод в Windows осуществляется с использованием интерфейса при­кладного программирования (Application Program Interface — API). Описанные в этом разделе фун­кции относятся только к DOS. Прототипы и заголовочная информация для функций работы с текстом содержатся в файле conio.h. Прототипы и соответствующая информация для графичес­кой системы содержатся в файле graphics.h. Ни одна из описанных в этом разделе функций не определена стандартом ANSI С или С++.

Для использования графической системы необходимо скомпоновать библиотеку graphics.lib с программой. При использовании компилятора командной строки необходимо включить имя этой библиотеки в командную строку. Например, если программа называется test и используется ком­пилятор командной строки, командная строка должна выглядеть следующим образом:
bcc test graphics.lib

При использовании интегрированной среды разработки надо не забывать добавлять файл graphics.lib к проекту.

Центральной концепцией для функций работы с текстом и графикой служит концепция окна, то есть активной области экрана, в пределах которой осуществляется вывод данных. Окно может быть размером с целый экран, что и задается по умолчанию, либо же иметь такие размеры, какие необходимы. Borland С++ использует слегка различную терминологию для текстовой и графичес­кой систем с целью сохранять эти системы раздельно друг от друга. Текстовые функции работают с окнами, в то время как графическая система использует область просмотра (viewport). Однако концепция в обоих случаях одна и та же. Вся выводимая информация содержится в активном окне. Это означает, что часть изображения, расположенная за пределами окна или области про­смотра, автоматически отсекается.

При использовании графики программа должна в первую очередь инициализировать графи­ческую систему с помощью вызова функции initgraph(). По окончании использования графики необходимо вызвать функцию closegraph() или restorecrtmode().

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

И последнее замечание. Когда экран функционирует в текстовом режиме, его левый верхний угол расположен в точке с координатами 1,1. В графическом режиме левый верхний угол пред­ставляет собой точку с координатами 0,0.

Страницы