1-Маъруза. Дастурлаш тиллари ва уларни куллаш


Ранг ва политрани урнатиш



Download 1,35 Mb.
bet43/68
Sana25.02.2022
Hajmi1,35 Mb.
#311154
TuriИнструкция
1   ...   39   40   41   42   43   44   45   46   ...   68
Bog'liq
PASCAL

3.35Ранг ва политрани урнатиш


SetPalette, SetAllPalette, GetBkColor, GetColor, GetMaxColor, GetPalette, GetPaletteSize
EGA/VGA-адаптерлари учун EGAVGA.BGI драйвери 54 ранг урнатади .Улардан бир кисми, CGA га тугри келадиганлари 13.16 таб.да курсатилган .
Табл. 13.16. EGA/VGA адаптерлар учун ранглар

Константа

Киймат

Код

Манитор экранидаги ранг

Ранглар компонентаси

EGABlack

0

000000

Кора

......

EGABlue

1

000001

Хаво ранг

.....B

EGAGreen

2

000010

Зангори

....G.

EGACyan

3

000011

Хаво ранг-зангори

....GB

EGARed

4

000100

Кизил

...R..

EGAMagenta

5

000101

Кизил-хаво ранг

...R.B

EGABrown

20

010100

Жигарранг

.g.R.B

EGALightGray

7

000111

Оч кул ранг

...RGB

EGADarkGray

56

111000

Тук кул ранг

rgb...

EGALightBlue

57

111001

Оч хаво ранг

rgb..B

EGALightGreen

58

111010

Оч -зангори

rgb.G.

EGALightCyan

59

111011

Оч- хаво- зангори ранг

rgb.GB

EGALightRed

60

111100

Оч кизил

rgbR..

EGALightMagenta

61

111101

Очик кизил ранг

rgbR.B

EGAYellow

62

111110

Сарик

rgbRG.

EGAWhite

63

111111

Ок

rgbRGB

Фон SetBkColor ердасида берилади.
SetPalette ва SetAllPalette ердамида фойдаланувчи рангларнинг урнашиш кетма-кетлигини узгартириши мумкин (13.15 ва 13.16 табларга каранг) .
InitGraph га стандарт берилгандан сунг муносабатлар урнатилиши хакидаги ахборот PaletteType типидаги узгарувчида булади:
TYPE
PaletteType = RECORD
Size : byte;
Colors : ARRAY[0..MaxColors] OF shortint
END;

Бу ерда Size - палитрадаги ранглар сони Colors - регистрлардаги палитралар киймати


Colors - массивининг элементлари бутун сонлар, улар конкрет рангларни аниклайди. Масалан 4 индексли массивнинг ранги Red, 14 - элемент Yellow рангига тугри келади ва хокозо.

Жорий палитра хакидаги ахборотни GetDefaultPalette(VAR Palette : PaletteType) процедура ердамида олиш мумкин.


GetDefaultPalette(VAR Palette : PaletteType)

бу ерда Palette - PaletteType типидаги узгарувчи.


Turbo-Pascal тилида иккита мухим атрибутни урнатиш учун SetColor процедураси кулланилади.


SetColor(Color : word) процедура ранг Color параметри билан берилган графика процедурасининг рангини урнатади.
CGA-адаптерлари учун ранг фони 13.15 таблицасидан танланади.

EGA-ва VGA-адаптерлари учун фон сифатида 0..63 гача булган 13.16 таблицадаги хар кандай бутун сонлар берилиши мумкин.


Бир ва бир нечта рангларни узгартириш учун SetPalette процедурасида фойдаланиш мумкин, агарда бутун палитрани узгартириш талаб килинса SetAllPalette процедурасидан фойдаланамиз.

SetPalette (ColorNum : word; Color : shortint) процедура ранг ва палитра тартиб номерлари орасидаги мосликни узгартиришда кулланилади. ColorNum палитрадаги ранг номери, Color рангнинг янги киймати.


Еттинчи тартиб номер бошка рангни бериши учун, масалан Yellow ни бериши учун куйидагича езиш керак:


SetPalette(7,Yellow);

Бундан сунг экран ранги тезда узгаради. Процедура EGA- ва VGA-адаптерли ситемалар учунгина ишлайди.


SetAllPalette (VAR Palette: PaletteType)


EGA- ва VGA-адаптерли ситемаларда палитрадаги ранглар жойлашуви тартибини узгартириш учун ишлатилади.
Мисол:
TYPE
PaletteType = RECORD
Size : byte;
Colors : ARRAY [0..MaxColors] OF shortint
END;
VAR
Palette: PaletteType;
...
Palette.colors[0]:=Brown;
...

Палитралар ишлашга мисол сифатида куйидаги масалани куриб чикамиз. Берилган рангдаги фонда тугри бурчакни чизиб, сунгра 15- тартиб номерли White политрасини Green. билан алмаштириш керак булсин. Сунгара уз политрасини ташкил этиб, берилган фондаги тугри туртбурчакни экранга чикариш дастури куйида курсатилган:


PROGRAM DemoPalettes;
USES Crt, Graph;
VAR
DriverVar, ModeVar: integer;
Palette : PaletteType;
BEGIN
DriverVar:=detect;
InitGraph(DriverVar,ModeVar,'');
GetPalette(palette);
Rectangle(10,10,100,200); { White рангли тугри бурчак }
Delay(3000);
{ 15 (White) ни Green билан алмаштириш}
SetPalette(15,Green); {тугри бурчакни бошкалатдан буяш }
{ ок рангдан зангори рангга }
Delay(4000);
{ 15 тарангдан иборат уз палитрамизни урнатамиз }
Palette.Colors[0] := Brown;
Palette.Colors[1] := Red;
Palette.Colors[2] := Green;
Palette.Colors[3] := LightBlue;
...
Palette.Colors[15] := LightRed;
SetAllPalette(palette);
{ Black ранг фони Brown га узгаради }
{ биринчи тугри бурчак рангини LightRed га узгартиради }
{ Янги тугри бурчак оддий холатда охирги ранг билан чизилади }
{ фойдаланувчининг палитраси билан - LightRed }
Rectangle(120,100,600,300);
Readln;
CloseGraph
END.

Санаб утилганлардан ташкари яна кушимча воситалар мавжуд: GetBkColor, GetColor, GetMaxColor, GetPalette, GetPaletteSize. Уларнинг вазифалари билан кискача таништириб утамиз:


GetBkColor: word - фон рангининг жорий тартиб номерини кайтаради

GetColor: word - чизиш учун жорий ранг тартиб номерини кайтаради


GetMaxColor: word - минус 1 палитрадаги ранг кодининг максимал кийматини кайтаради .


GetPalette (VAR Palette: PaletteType) - жорий политра хакидаги ахборотни PaletteType типдаги узгарувчига чикаради. У etDefaultPalette дан фарклирок фойдаланувчи палитраларидаги берилганларни кайтаради.


GetPaletteSize: integer - жорий палитралардаги ранглар сонини кайтаради.



Download 1,35 Mb.

Do'stlaringiz bilan baham:
1   ...   39   40   41   42   43   44   45   46   ...   68




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish