logo search
TurboProlog / Документация / TOM_2

Getpalette/1 Графика

Назначение Возвращает информацию о текущей палитре

Обращение getpalette(ПалитраСписок)

Домены (bgi_ilist)

Шаблоны описания (вых)

аргументов

Описание getpalette возвращает список ПалитраСписок, который

состоит из "физических" номеров цветов в текущей

палитре.

Смотри getbkcolor,getcolor,setallpalette,setpalette

Пример

include "GRAPDECL.PRO"

PREDICATES

PaletteDemo

Changepalette(Integer)

Showcolors(Integer,Integer)

Repeat

CLAUSES

PaletteDemo:-

GetPalette(PaletteList),

/* Взять текущую палитру */

Getmaxcolor(Maxcolor),

Showcolors(0,Maxcolor),

Changepalette(Maxcolor),

setallpalette(PaletteList).

/* Восстановить старую палитру */

Showcolors(Maxcolor,Maxcolor):-!.

Showcolors(Color,Maxcolor):-

SetFillStyle(solid_Fill,Color),

L=20 * (Color - 1),

/* Нарисовать цветную диаграмму */

R=20 * Color,

Bar(L,0,R,20),

Color2 = Color + 1,

Showcolors(Color2,Maxcolor).

Changepalette(1):-!.

/* Только если больше чем один цвет */

Changepalette(Size):-

Repeat,

random(Size,R1),

random(Size,R2),

SetPalette(R1,R2),

KeyPressed,

readchar(_),!.

repeat.

repeat:- repeat.

goal

/* Инициализация гpафики c автоматическим

определением драйвера */

initgraph(detect, 0, GraphDriver,GraphMode, ""),

PaletteDemo,

closegraph.