Russian Belarusian English German Japanese Ukrainian

Getfillpattern

CuBook05

Функция

Копирует в память определенный пользователем шаблон заполнения.
 
Синтаксис

#include <graphics.h>
void far getfillpattern(char far *pattern);
 
Прототип

graphics.h
 
Описание

Функция getfillpattern копирует шаблон заполнения, определенный пользователем и установленный с помощью setfillpattern, в 8-битную область, на которую указывает pattern.
Функция pattern - это указатель на последовательность из 8 байт, где каждый байт соответствует 8 пикселям шаблона. Всякий раз, когда бит устанавливается в 1, соответствующий пиксель отображается на экране.
Например, следующий определенный пользователем образец приведет к поклеточному рисунку:
char checkboard[8] = {
0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55,
0xAA, 0x55
};
 
Возвращаемое значение

Нет.
 
Переносимость

Функция уникальна для Borland C++. Она работает только на компьютерах IBM PC и совместимых с ними, оснащенных дисплейными адаптерами, поддерживающими графический режим. Функция не совместима с Windows.
 
Пример

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

int main(void)
{
/* Запрос автоопределения */
int graphdriver = DETECT, gmode, errorcode;
int maxx,maxy;
char pattern[8] = {0x00,0x70,0x20,0x27,0x25,0x27,0x04,0x04);

/* инициализация графики и локальных переменных */
initgraph(&graphdriver,&gmode,"");

/* получение результата инициализации */
errorcode = graphresult();
if(errorcode != grOk) /* если ошибка */
{
printf("Ошибка :%s\n",grapherrormessage(errorcode));
printf("Для останова нажмите любую клавишу\n");
getch();
exit(1); /* завершение с кодом ошибки */
}
maxx = getmaxx();
maxy = getmaxy();
setcolor(getmaxcolor());
/* выбрать пользовательский шаблон */
setfillpattern(pattern,getmaxcolor());
/* заполнить экран с помощью этого шаблона */
bar (0,0,maxx,maxy);
getch();
/* получить текущий шаблон */
getfillpattern(pattern);
/* изменить его */
pattern[4] -= 1;
pattern[5] -= 2;
pattern[6] -= 3;
pattern[7] -= 4;
/* установить новый шаблон */
setfillpattern(pattern,getmaxcolor());
/* заполнить им экран */
bar(0,0,maxx,maxy);
/* очистка */
getch();
closegraph();
return 0;
}
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий