ПредишенСледващото

цветова палитра. Програмата има способността да разпитва или променя съдържанието на всички регистри или съдържание палитра от всички регистри едновременно.

SetBkColor (n_reg); // n_reg интервала [0, 255]

Цвят рисунка, която възпроизвежда отсечки и контури ПРАВИТЕЛСТВЕНИ различни графични форми (примитиви. - дъги, окръжности, елипси полигони прякори и т.н.), е установен чрез процедура SetColor. Единственият му аргумент е номерът на КПР регистър, който е фиксиран физически цвят на преден план:

SetColor (n_reg); // n_reg интервала [0, 255]

Цветът и модела на запълване е създадена с помощта на SetFillStyle процедура: SetFillStyle (Образец, n_reg); // n_reg интервала [0, 255]

параметър модел (еталон) описва метод на запълване на затворения фигура (напълване с плътен цвят, всички видове оцветяване, оцветяване и растер т. Н.). С всички методи, поддържа библиотека от BGI, ние ще представим й късно.

За въведение в стандартната палитра, която се определя от социализация инициира графична система, можете да използвате програмата от listin- 15.1 хектара.

Обявата 15.1. програма color256

програма color256; използва графика;

GD, г: SMALLINT; х, у, I, J: SMALLINT;

GD: = D8bit; г: = m800x600; initgraph (GD, г "); защото: = 0 до 15 направи

за к: = 0 до 15 започвайте

Y: = J * 20; SetfillStyle (SolidFill, I * 16 + J); Бар (х, у, х + 40, у + 20);

Тази програма е постоянно възпроизвежда размер правоъгълници

40 20 пиксела, като ги боядисване в цвят, съответстващ на съдържанието на следващия КПР регистъра. Резултатът от работата й е показана на фиг. 15.2. Номериране цветове напредват от 0 до 255. Всяка колона представлява цвета 16 от последователни КПР регистри.

Управление на цветовете на Free Pascal

Фиг. 15.2. Неизпълнение от страна на цветова палитра

Номерът на DAC регистър е нула нула код, съответстващ на минималния интензитет тройни RGB-компоненти - (0, 0, 0). На екрана, който отговаря на набор от черен цвят. Номерът на регистър 1 е тройна (0, 0, 63), съответстваща на максималния интензитет на синия цвят. Регистриране на броя 2 включва три (0, 63, 0), и съдържанието му се възпроизвеждат в зелено. В допълнителен регистър "смесена" и максималните стойности на синия цвят zele- Nogo - (0, 63, 63), съответстващ на цвета на тюркоаз. Съдържанието на четвърти регистър, се равнява на (63, 0, 0) е показана в червено, и други подобни. Г. За отбелязване стойности на първите 16 Цветовете могат да се използват мнемонични имена константи показани в таблица. 15.4.

Избор на други цветове от палитрата по подразбиране обикновено се извършва с цел експериментално или чрез използване на цветове, показани на фиг. 15.2.

Функции GetColor GetBkColor и аргументите, не е нужно. Те се връщат стойности тип дума, отговаряща на КПР регистър номер, присвоен на даден период от време, за да цветовете на фона и на чертежа:

За да инсталирате или съдържание избирателната палитра регистър трябва да се прилага специална структура - запис тип и RGBRec PaletteType:

RGBRec = опаковани рекорд Red. SMALLINT; Грийн. SMALLINT; Blue. SMALLINT;

PaletteType = запис размер. LongInt;

Цветове. масив [0..MaxColors] на RGBRec; приключи;

тип на запис RGBRec представлява три двубайтова полеви prednaznachen- съдържание ПРАВИТЕЛСТВЕНИ съхранение на регистъра на КПР. Рекорден PaletteType ви позволява да съхранявате съдържанието на регистрите на палитрата. Първото й поле съхранява размера в байтове на палитрата. Зад него е масив, в който razmescha- etsya съдържанието на всички палитра регистри. За режим D8bit да MaxColors (максимален брой цветове) е 255.

DACreg: RGBRec; DACall: PaletteType; max_reg: SMALLINT;

max_reg: = GetPaletteSize; // анкета макс. Стая палитра регистрирате GetPalette (DACall); // проучване на текущата палитра регистрира GetDefdaultPalette (DACall); // анкета подразбиране палитра SetAllPalette на (DACAll); // определя всички SetPalette палитра регистри (n_reg, DACreg); // актуализира регистъра с броя n_reg SetRGBPalette (n_reg, VR, VG, VB); // актуализира регистъра с номер n_reg

Стойностите на процедура SetRGBPalette на RGB-компоненти трябва да принадлежат към интервала [0, 63].

Най-общо казано, много мъдър на промяната не си струва палитра - 256 цвята подразбиране палитра е достатъчно за не много трудни BGI-графика.

Подкрепете проекта - споделете линка, благодаря!