Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

Информатика, программирование->Конспект
Первый способ содержит только, выполняемые операторы программы и позволяет проводить пошаговую отладку, используя текущее местоположение транзакта. Но...полностью>>
Информатика, программирование->Лабораторная работа
Было выявлено, что выбранный режим обслуживания заявок во многом влияет на производительность всей системы. Этот факт подтвержден с помощью представле...полностью>>
Информатика, программирование->Лабораторная работа
.В сегменте транзакт производит ежедневный контроль комплектующих, имитируя их получение на складе, если заказ может быть выполнен, причем уровень зап...полностью>>
Информатика, программирование->Лабораторная работа
Вывод: В данной лабораторной работе произвели моделирование системы контроля качества производства ЭЭ. Рассмотрели различные способы задания времени в...полностью>>

Главная > Домашняя работа >Информатика, программирование

Сохрани ссылку в одной из сетей:

Для шаблонов рисуемых линий в файле graphics.h объявлены специальная структура и перечислимые типы.

struct linesettingstype {

int linestyle;

unsigned upattern;

int thickness;

};

Первое поле структуры linestyle определяет стиль линии (сплошной, разрывный и другие) и может принимать одно из следующих значений перечислимого типа.

enum line_styles {

SOLID_LINE = 0,

DOTTED_LINE = 1,

CENTER_LINE = 2,

DASHED_LINE = 3,

USERBIT_LINE = 4,

};

Третье поле структуры thickness определяет ширину линии и может принимать одно из следующих значений перечислимого типа.

enum line_widths {

NORM_WIDTH = 1,

THICK_WIDTH = 3,

};

Второе поле структуры upattern используется только в том случае, если поле linestyle имеет значение USERBIT_LINE. Оно определяет шаблон линии, задаваемый пользователем. Это 16-битная маска для линии длиной 16 пикселов, значения единиц в разрядах маски определяют, будет ли данный пиксел прорисован (1 – да, 0 – нет).

Пример

upattern=39471(0x9A2F)

1

0

0

1

1

0

1

0

0

0

1

0

1

1

1

1

void far getlinesettings(struct linesettingstype far* lineinfo);

Функция заполняет структуру, адрес которой передаётся в качестве параметра, текущими параметрами выводимых линий.

void far setlinestyle(int linestyle, unsigned upattern, int thickness);

Функция устанавливает стиль выводимых линий. Смысл параметров такой же, как смысл полей структуры linesettingstype.

Для получения параметров закраски в файле graphics.h объявлена специальная структура.

struct fillsettingstype {

int pattern;

int color;

};

Поле color определяет цвет закраски, поле pattern определяет стиль закрашивания.

void far getfillsettings(struct fillsettingstype far* fillinfo);

Функция заполняет структуру, адрес которой передаётся в качестве параметра, текущими параметрами закраски.

void far setfillstyle(int pattern, int color);

Функция устанавливает шаблон и цвет закрашиваемых контуров. Параметр color определяет цвет закраски, параметр pattern определяет стиль закрашивания и может принимать одно из значений перечислимого типа fill_patterns. Ниже в таблице приведены имена и значения констант типа fill_patterns, а также пояснения.

Имя константы

Значение

Пояснение

EMPTY_FILL

0

Заполнение цветом фона

SOLID_FILL

1

Сплошное заданным цветом

LINE_FILL

2

Горизонтальными линиями

LTSLASH_FILL

3

Косыми линиями ///

SLASH_FILL

4

Толстыми косыми линиями

BKSLASH_FILL

5

Толстыми обратными косыми линиями \\\

LTBKSLASH_FILL

6

Обратными косыми линиями

HATCH_FILL

7

Светлая штриховка сеткой

XHATCH_FILL

8

Крестообразная штриховка

INTERLEAVE_FILL

9

Перекрестная штриховка

WIDE_DOT_FILL

10

Заполнение редкими точками

CLOSE_DOT_FILL

11

Заполнение частыми точками

USER_FILL

12

Шаблон задаётся пользователем

void far getfillpattern(char far* pattern);

Функция записывает установленный пользователем шаблон закраски в 8-байтный массив, адрес которого передаётся в качестве параметра.

void far setfillpattern(char far* upattern, int color);

Функция устанавливает пользовательский шаблон закраски. Параметр color определяет цвет закраски. Параметр upattern является указателем на массив типа char длиной 8 элементов, задающих маску закрашивания 8X8 пикселов. Каждый элемент массива отвечает за соответствующую строку, каждый бит элемента массива – за соответствующий пиксел в строке. Если бит равен 1, соответствующий пиксел закрашивается, если 0 – нет.

Пример

char upattern [8]={169, 39, 59, 140, 77, 16, 254, 86};

A9

1

0

1

0

1

0

0

1

27

0

0

1

0

0

1

1

1

3B

0

0

1

1

1

0

1

1

8C

1

0

0

0

1

1

0

0

4D

0

1

0

0

1

1

0

1

10

0

0

0

1

0

0

0

0

FE

1

1

1

1

1

1

1

0

56

0

1

0

1

0

1

1

0

void far floodfill(int x, int y, int bordercolor);

Функция закрашивает область заданным цветом по заданному шаблону. Параметры x и y – координаты точки области, bordercolor – цвет контура области (границы закрашиваемой области).

void far bar(int left, int top, int right, int bottom);

Функция рисует закрашенный прямоугольник, координаты левой верхней (left, top) и правой нижней (right, bottom) вершин передаются в качестве параметров.

void far bar3d(int left, int top, int right, int bottom, int depth, int topflag);

Функция рисует двухмерную проекцию закрашенного параллелепипеда, координаты левой верхней (left, top) и правой нижней (right, bottom) вершин ближней грани передаются в качестве параметров, параметр depth задаёт размер по оси аппликат, спроецированный на плоскость экрана. Если параметр topflag отличен от 0, то рисуется вся проекция, если равен 0, то не рисуется верхняя грань.

void far fillellipse(int x, int y, int xradius, int yradius);

Функция рисует закрашенный эллипс. Параметры x и y задают центр эллипса.

void far sector(int x, int y, int stangle, int endangle, int xradius, int yradius);

Функция рисует закрашенный эллиптический сектор. Параметры x и y задают центр сектора.

void far fillpoly(int numpoints, int far* polypoints);

Функция рисует закрашенный многоугольник, параметры функции такие же, как и у функции drawpoly().

void far pieslice(int x, int y, int stangle, int endangle, int radius);

Функция рисует закрашенный круговой сектор. Параметры x и y задают центр сектора.

void far outtext(char far* textstring);

void far outtextxy(int x, int y, char far* textstring);

Функции выводят на экран строку текста, адрес которой принимают в качестве параметра textstring. Функция outtext() выводит текст начиная с текущей графической позиции, функция outtextxy() начальную позицию для вывода текста принимает в качестве аргументов x и y.

int far textheight(char far* textstring);

int far textwidth(char far* textstring);

Функции возвращают высоту и ширину выводимой строки текста в пикселах.

Для получения параметров выводимого в графическом режиме текста в файле graphics.h объявлена специальная структура.

struct textsettingstype {

int font;

int direction;

int charsize;

int horiz;

int vert;

};

Поле font определяет тип используемого шрифта и может принимать значения констант специального перечислимого типа, объявленного в файле graphics.h.

enum font_names {

DEFAULT_FONT = 0, /* 8x8 bit mapped font */

TRIPLEX_FONT = 1, /* "Stroked" fonts */

SMALL_FONT = 2,

SANS_SERIF_FONT = 3,

GOTHIC_FONT = 4,

SCRIPT_FONT = 5,

SIMPLEX_FONT = 6,

TRIPLEX_SCR_FONT = 7,

COMPLEX_FONT = 8,

EUROPEAN_FONT = 9,

BOLD_FONT = 10

};

Для использования шрифтов, значения констант которых начинаются с 1, необходимо подгружать данные шрифты из *.chr файлов.

Поле direction определяет направление графического вывода. Для его задания в файле graphics.h объявлены соответствующие макросы, описанные в таблице ниже.

Имя

Значение

Направление вывода текста

HORIZ_DIR

0

Слева направо

VERT_DIR

1

Снизу вверх

Поле charsize определяет размер одного знакоместа в пикселах. Варианты значений приведены в таблице.

Значение

Размер знакоместа в пикселах

1

8X8

2

16X16

10

80X80

Поля horiz и vert определяют горизонтальное и вертикальное выравнивание текста соответственно и могут принимать значения констант специального перечислимого типа, объявленного в файле graphics.h.

enum text_just {

LEFT_TEXT = 0,

CENTER_TEXT = 1,

RIGHT_TEXT = 2,

BOTTOM_TEXT = 0,

/* CENTER_TEXT = 1, */

TOP_TEXT = 2

};

Поле

Константа

Выравнивание

horiz

LEFT_TEXT

Слева

horiz

CENTER_TEXT

Центрированный текст

horiz

RIGHT_TEXT

Справа

vert

BOTTOM_TEXT

Снизу

vert

CENTER_TEXT

Центрированный текст

vert

TOP_TEXT

Сверху

void far gettextsettings(struct textsettingstype far* texttypeinfo);

Функция заполняет структуру, адрес которой передаётся в качестве параметра, текущими параметрами выводимого текста.

void far settextstyle(int font, int direction, int charsize);

Функция устанавливает параметры выводимого текста, назначение параметров аналогично назначению одноимённых полей структуры textsettingstype.

void far settextjustify(int horiz, int vert);

Функция устанавливает параметры выравнивания выводимого текста, назначение параметров аналогично назначению одноимённых полей структуры textsettingstype.

void far setusercharsize(int multx, int divx, int multy, int divy);

Функция устанавливает пользовательский размер шрифта для подгружаемых из файлов шрифтов, параметры функции задают коэффициенты умножения и деления по соответствующим координатам. Исходный размер шрифта по соответствующей координате умножается на число mult/div.

void far graphdefaults(void);

Функция устанавливает значения всех графических параметров в значения по умолчанию.

Во время работы программы могут возникнуть ошибки выполнения.

int far graphresult(void);

Функция возвращает код ошибки выполнения последней графической операции, который может принимать значения констант специального перечислимого типа graphics_errors, объявленного в файле graphics.h.

char* far grapherrormsg(int errorcode);

Функция возвращает текстовую строку с сообщением об ошибке по заданному коду ошибки, который принимает в качестве параметра errorcode. Ниже в таблице приведены константы graphics_errors, их численные значения и соответствующие текстовые сообщения об ошибках.

Код

Константа

Тестовая строка

0

grOk

No error

-1

grNoInitGraph

(BGI) graphics not installed

-2

grNotDetected

Graphics hardware not detected

-3

grFileNotFound

Device driver file not found ()

-4

grInvalidDriver

Invalid device driver file ()

-5

grNoLoadMem

Not enough memory to load driver

-6

grNoScanMem

Out of memory in scan fill

-7

grNoFloodMem

Out of memory in flood fill

-8

grFontNotFound

Font file not found ()

-9

grNoFontMem

Not enough memory to load font

-10

grInvalidMode

Invalid graphics mode for selected driver

-11

grError

Graphics error

-12

grIOerror

Graphics I/O error

-13

grInvalidFont

Invalid font file ()

-14

grInvalidFontNum

Invalid font number

-18

grInvalidVersion

Invalid File Version Number



Загрузить файл

Похожие страницы:

  1. Видеосистема компьютера

    Домашняя работа >> Информатика, программирование
    ... текстового режима (1,1), для графического режима (0,0). Стрелками показаны положительные направления соответствующих осей координат, ... монитора или от установленного режима. Работа в текстовом режиме видеоадаптера в ОС MS-DOS Все функции управления консолью ...
  2. Работа с мышью

    Контрольная работа >> Информатика, программирование
    ... режиме – знакоместо, в графическом режиме – пиксел. Координаты мыши считаются попиксельно для любого режима видеоадаптера, поэтому в графическом режиме видеоадаптера ... MS-DOS драйвер не входит, то он должен быть загружен пользователем (или ОС ... для работы с ...
  3. Состояние и ближайшие перспективы развития рынка системной памяти

    Реферат >> Информатика
    ... памяти использовались для памяти видеоадаптера, следующий сегмент делили ... работы (protected mode). Однако самая популярная ОС - MS DOS могла работать только в реальном режиме работы ... Что говорить о скорости обработки графической или видео информации, которые ...
  4. Микропроцессоры Intel 8086 и Intel

    Реферат >> Коммуникации и связь
    ... как «видеопамять» (адресное пространство видеоадаптера), а страница F занята ... реальном или защищённом режиме работает процессор; расширения ... программы реального режима, разработанные для ОС MS-DOS. При ... имела графического интерфейса, в отличие от ОС Microsoft ...
  5. Компьютерная графика (9)

    Шпаргалка >> Информатика, программирование
    ... графического режима видеоадаптера. Любой современный видеоадаптер может работать в двух режимах: текстовом и графическом. В текстовом режиме ... с MS DOS. В MS DOS при работе с видеоадаптерами указываются ... плоскости и координатных осей. КЛАССИФИКАЦИЯ ПРОЕКЦИИ ...

Хочу больше похожих работ...

Generated in 0.0017869472503662