68890

Управління палітрою

Лекция

Информатика, кибернетика и программирование

Стандартний драйвер egavga.bgi використовує RGBI - систему роботи з кольором (Red,green,blue,intensity). На базі трьох кольорів шляхом їх змішування і установки низької або високої яскравості свічення формується апаратно зумовлена палітра.

Украинкский

2014-09-26

65.5 KB

1 чел.

ЛЕКЦІЯ 1

Управління палітрою

Стандартний драйвер  egavga.bgi використовує  RGBI - систему роботи з кольором (Red,green,blue,intensity).

На базі трьох кольорів шляхом їх змішування і установки низької або високої яскравості свічення формується апаратно зумовлена палітра.

Розглянемо принцип формування 16 кольорів - 23.

Константа

Значення

    Код

Колір на                           екрані

Компоненти    кольору

Black

0

0000

чорний

. . . .

Blue

1

0001

синій

. . . B

Green

2

0010

зелений

. . G .

Cyan

3

0011

блакитний

. . GB

Red

4

0100

червоний

. R . .

Magenta

5

0101

фіолетовий

. R . B

Brawn

6

0110

коричневий

. RG .

Light-Gray

7

0111

світло-сірий

. RGB

Dark-Gray

8

1000

темно-сірий

I . . .

Light-Blue

9

1001

яскраво-синій

I . . B

Light-Green

10

1010

яскраво-зелений

I .G .

Light-Cyan

11

1011

яскраво-блакитний

I .GB

Light-Red

12

1100

малиновий

IR . .

Light-Magenta

13

1101

яскраво-фіолетовий

IR . B

Yellow

14

1110

жовтий

IRG .

White

15

1111

білий

IRGB

При розширенні можливості роботи з кольором, наприклад  для 64 кольорової палітри,   в байті використовується 6 бітів, а не 4 як в 16 кольоровій палітрі).          

Принцип формування палітри приблизно той же, але в основу береться RrGgBb-система.

        R,g,b-нормальна яскравість;

       r,g,b- яскравість в два рази менше.

Структура байта, що представляє 1 апаратний колір.

Біт

Компонент кольору

0

B

Синій, інтенсивність 2/3

1

G

Зелений, інтенсивність 2/3

2

R

Червоний, інтенсивність 2/3

3

B

Синій, інтенсивність 1/3

4

G

Зелений, інтенсивність 1/3

5

r

Червоний, інтенсивність 1/3

6

Не використовується

7

Не використовується

Для кожного чистого кольору R,G і B існує 3 градації яскравості 1/3,2/3 і 1/3+2/3=1.

      Так само можливі комбінації бітів.

Можлива кількість кольорів –26–64

Константа

Значення

    Код

Колір на                           екрані

Компоненти    кольору

Black

0

000000

чорний

. . . . . .

Blue

1

000001

синій

. . . . . B

Green

2

000010

зелений

. . . . G .

Cyan

3

000011

блакитний

. . . . GB

Red

4

000100

червоний

. . . R . .

Magenta

5

000101

фіолетовий

. . . R . B

Brawn

20

010100

коричневий

. g . R . .

Light-Gray

7

000111

світло-сірий

. . . RGB

Dark-Gray

56

111000

темно-сірий

r g b . . .

Light-Blue

57

111001

яскраво-синій

r g b . . B

Light-Green

58

111010

яскраво-зелений

r g b .G .

Light-Cyan

59

111011

яскраво-блакитний

r g b .GB

Light-Red

60

111100

малиновий

r g b R . .

Light-Magenta

61

111101

яскраво-фіолетовий

r g b R . B

Yellow

62

111110

жовтий

r g b RG .

White

63

111111

білий

r g b RGB

Для 256 кольорів використовується весь байт–28–256

Після старту процедури  Initgraph вся інформація про встановлену палітру знаходиться в змінній стандартного типу  

 

Type

      PaletteType=record;

     Size:Word;

     Colors:array[1..MaxColor] of Shortint;

end;

Поле Size містить кількість кольорів в палітрі.

Поле Colors містить кольори, що діють, в елементах масиву.

Отримати інформацію про поточну палітру можна за допомогою процедур:

                 GetDefaultPalette(var Palette:PaletteType);

                -getpalette(var Palette:palettetype)

  1.  Getdefaultpalette повертає набір кольорів, встановлений за умовчанням при ініціалізації графіки;
  2.  Getpalette повертає поточний набір кольорів;
  3.  Getpalettesize:word- повертає кількість кольорів, що входять в поточну палітру;
  4.  Getmaxcolor-повертає  максимальну кількість кольорів, що входять в поточну палітру.

У разі, коли програміста не влаштовує палітра, що є, її можна змінити:

         -якщо потрібно зменшити розташування одного кольору, то використовується процедура Setpalette

        -якщо необхідно змінити всю палітру -setallpalette.

Процедура Setpalette(Colornum:word;Color:Shortint);

ColorNum-номер кольору в палітрі;

Color-нове значення кольору;

     Setpalette(0,red);

     Setpalette(7,yellow);

Зміна кольору на екрані відбувається негайно і без очищення екрану.

Процедура Setallpalette(Var Palette) -дозволяє створювати свою палітру  відповідності між програмними і апаратними кольорами.

Змінна Palette-бестипова-перший байт повинен містити кількість кольорівNum у встановленій палітрі, наступні Num байтів повинні містити кольори з апаратної палітри, яка використовуватиметься.

Приклад: накреслити прямокутник на встановленому фоні, потім змінити палітру і знову накреслити прямокутник.

Program DemoPalette;

Uses Crt, Graph;

Var  

       Grd,Grm:integer;

       Pal:PaletteType;

Begin

     Grd:=detect;

     InitGraph(grd,grm,’G:\’);

     Rectangle(10,10,200,200);     {white}

     Delay(1500);

     SetPalette(15,Blue);               {Blue–перо}

     Delay(1500);                          { встановлює палітру}

     Pal.Color[0]:=Red; Pal.Color[1]:=Lightred;

     …

     …

     Pal.Color[15]:=Brawn;

     SetAllPalette(Pal);                   { фон змінений на Red}

     Rectangle(100,100,300,300);   {Brоwn}

     Readkey;

     GetDefaultPalette(Pal);

     SetAllPalette(Pal);

     CloseGraph;

     End.


 

А также другие работы, которые могут Вас заинтересовать

52417. Додавання та віднімання раціональних чисел 86 KB
  Мета: організувати діяльність учнів для повторення дій з раціональними числами, звичайними та десятковими дробами; створити умови для розвитку функціонального мислення ( зв’язок між числом та буквою); показати мовний зв’язок; підготувати учнів до темататичного оцінювання; розвивати комунікативні здібності, вміння вести діалог; виховувати інтерес до природи та оточуючий нас рослинний та тваринний світ.
52418. Розв’язування вправ на виконання додавання і віднімання раціональних чисел 124 KB
  За якою темою ми працювали на останніх уроках Так додавання і віднімання раціональних чисел. Сьогодні ми з вами відправляємось у захоплюючу подорож до країни Раціональних Чисел де ми поринемо у хвилі цікавих задач під вітрилами невирішених проблем. Як скласти числа з однаковими знаками Як скласти числа з різними знаками Як знайти різницю раціональних чисел 2.
52419. Числа Фібоначчі та їх основні властивості 839.5 KB
  Числа Фібоначчі та їх основні властивості Методичні розробки для факультативних занять Зміст Передмова. Що таке числа Фібоначчі. Деякі найпростіші властивості чисел Фібоначчі. Властивості чисел ФібоначчіНарайани.
52420. Действия с рациональными числами 408 KB
  На нашем уроке работает Зеленый патруль 1 задание Деревья способствуют очищению воздуха поглощая углекислый газ и выделяя кислород. 2 задание. Каждый получает карточку с заданием. Координатная прямая проектируется не экран 8 7 6 5 4 3 2 1 0 1 2 3 4 5 6 7 8 9 Я У К Ь Д Л...
52421. Розвязування вправ з теми «Дії над раціональними числами» 130 KB
  Розвивати вміння учнів знаходити суму, різницю та добуток раціональних чисел, працювати з різними видами чисел; виховувати увагу, спостережливість при виконанні завдань.
52422. Дії з натуральними числами 63 KB
  Обладнання: сніжинка переможець проведеного напередодні конкурсу ялинка іграшкиналіпки картина Святий Миколай. Головним його атрибутом є новорічна ялинка. 4м і 6м Яка гарна ялинка виходить У кожного вдома теж буде ялинка. Назва роботи Урокгра математики в 5 класі Новорічна ялинка П.
52423. Загальна характеристика Членистоногих 115.5 KB
  Загальна характеристика Членистоногих Мета уроку: ознайомити із загальними рисами типу; відмітити ускладнення організації членистоногих порівняно з кільчаками; зясувати їхнє походження; розкрити різноманітність членистоногих їхню роль у природі та житті людини; формувати навички роботи з текстом підручника вміння виділяти головне порівнювати робити висновки; розвивати пізнавальні пошукові та творчі можливості учнів під час створення проектів розвивати вміння презентувати власну роботу; формувати основи екологічного мислення Тип уроку:...
52424. Chocolate is good for you 94.5 KB
  INTRODUCTION t the lesson we re going to tlk with you bout chocolte nd its role nd plce in our life.CHOCOLTE: Wlk round the clss nd tlk to other students bout chocolte. studies fntstic news reserch diet hert ttcks milk chocolte risks suffering stroke nutrition blood pressure weight gin clories sweets snck Hve cht bout the topics you liked.