![]()
Главная Обратная связь Дисциплины:
Архитектура (936) ![]()
|
Void setaspectratio (int xasp, int yasp)
Устанавливает новое значение коэффициента сжатия, которое будет использоваться системой графики Turbo С при выводе геометрических примитивов - прямоугольников, дуг, окружностей, эллипсов. Аргумент xasp отображает в условных единицах ширину пиксела на экране, yasp - высоту пиксела. Например, если известно, что высота пиксела на экране в 1.2 раза больше, чем его ширина, геометрически корректный вывод будет получен при задании такого коэффициента сжатия: Setaspectratio(100,120); Рекомендуемое использование функции - корректировка вывода графической информации при использовании нестандартных мониторов, для которых Turbo С не может автоматически определить корректное значение коэффициента сжатия, а также корректировка графического вывода для мониторов с некорректной линейностью по вертикали и горизонтали.
Последние из параметров графической системы Turbo С, влияющие на вывод графической информации, - это маска заполнения и стиль заполнения. Маска заполнения позволяет задать способ заполнения отдельных областей экрана. Она определяется восьмибайтовым шаблоном, рассматриваемым как битовая карта 8x8. Заполняемая область также разбивается на блоки (знакоместа) по 8x8 пикселов. Маска "накладывается" на каждое такое знакоместо по следующему правилу: если соответствующий бит в маске заполнения равен 1, то пиксел в знакоместе имеет код текущего цвета; в противном случае пиксел остается неизменным. Для работы с масками заполнения система графики Turbo С содержит функции getfillpattern() и setfillpattern().
#include <graphics.h> void getfillpattern (char * pattern)
Заполняет область памяти из 8 байт, описанную точкой вызова, текущим значением маски заполнения. Аргумент pattern указывает на начало описанной области памяти. Маска заполнения может иметь одно из предопределенных значений или описываться пользователем.
#include <graphics.h> void setfillpattern (char *upattern, int color)
Задает цвет пикселов и маску для заполнения областей экрана. По умолчанию используется белый цвет и маска заполнения, состоящая из матрицы единиц во всех битах. Таким образом, по умолчанию все пикселы заполняемой области имеют белый цвет. Аргумент upattern указывает на начало области из 8 байт, задающих новую маску заполнения. Первый байт задает пикселы самой верхней строки в пределах знакоместа. Старший бит первого байта соответствует самому левому пикселу знакоместа. Аргумент color задает цвет пикселов.
Для удобства пользователей библиотека графики Turbo С содержит целую группу предопределенных комбинаций символ/цвет заполнения областей экрана. Пару значений символов/цветов часто называют стилем заполнения (filling style). Для работы с предопределенными стилями используется пара функций getfillsettings() и setfillstyle().
#include <graphics.h> void getfillsettings( struct fillsettingstype *fillinfo)
Заполняет поля структурной переменной по шаблону struct fillsettingstype информацией о текущей маске и цвете заполнения. Структурную переменную по шаблону struct fillsettingstype описывает точка вызова. Аргумент fillinfo указывает на описанную точкой вызова структурную переменную. Шаблон struct fillsettingstype определен в <graphics.h> так:
Struct fillsettingstype { int pattern;/* идентификатор маски заполнения */ int color;/* цвет заполнения */ } Идентификатором предопределенных масок заполнения служит или целое число, или символическая константа (табл. 2.7.). В случае, когда используется определенная пользователем маска заполнения, поле pattern в структурной переменной, заполняемой функцией getfillsettings(), равно 12.
Табл. 2.7. Задание предопределенных масок в Turbo С
#include<graphics.h>
![]() |