Оқулық Қазақстан Республикасы Білім жəне ғылым министрлігі бекіткен Алматы, 2011 1



бет115/210
Дата06.01.2022
өлшемі4,42 Mb.
#16437
түріОқулық
1   ...   111   112   113   114   115   116   117   118   ...   210
Байланысты:
boribaev-algoritmdeu

200

SetPalette процедурасы палитраның бір түсін жаңа түске ауыстырады. Тақырыбы:

Procedure SetPalette (N: Word; Color: Shortlnt);
Мұндағы N – палитрадағы түс нөмірі; Color – жаңа орнатылатын түс нөмірі.
Бұл процедура тек EGA немесе VGA адаптерлерімен жұмыс жасай алады. Ол IBM 8514 немесе 256 – түсті VGA адаптерінде қолданылмайды, бұл адаптерлер үшін ерекше SetRGBPatette процедурасы бар. EGA/VGA адаптерлеріне палитраның түстерінің бастапқы орналасуы олардың тұрақтылармен сипатталу ретіне сəйкес келеді: 0 – қара, 1 – көк, 2 – жасыл жəне т.с.с. Процедура іске қосылғаннан кейін бейненің, палитра түстерінің N индексті түсімен салынған фрагменттері Color түсіне ие болады. Мысалы, SetPalette (2, White) операторы орындалғаннан кейін, 2 индексті түс (бастапқыда бұл – күлгін түс, Cyan) ақ түске ауыстырылады. Нөмірі 0 түс, фон түсі болып саналады жəне ол да кез келген түс сияқты өзгере алады.
Келесі программа экранға түрлі түсті түзулерді шығарып, олардың түсін кездейсоқ түске ауыстырады
uses Graph, CRT;
var
d,r,e,N,k,color: Integer;
Palette: PaletteTyper; begin
{Графиканы іске қосамыз} d:=Detect; InitGraph(d,r,’’); e:=GraphResult;
if e <> grOK then WriteLn(GraphErrorMsg(e))
else
begin
{Қалың, біркелкі сызықтарды таңдаймыз} SetLineStyle(SolidLn, 0, ThickWidth); GetPalette(Palette); {Ағымдағы палитра} for Color:=0 to Palette.Size-1 do
begin
SetColor(Color);

14–1618 201

Line(GetMaxX div 3,Color*10,2*GetMaxX div 3,Color*10)
end;
{Палитраны өзгертіп, тұтынушы əрекетін күтеміз}
while not KeyPressed do
for e:=0 to Palette.Size-1 do SetPalette(e,Random(Palette.
Size));
if ReadKey=#0 then d := ord(ReadKey); CloseGraph
end
end.



Достарыңызбен бөлісу:
1   ...   111   112   113   114   115   116   117   118   ...   210




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет