RGB

Վիքիպեդիայից՝ ազատ հանրագիտարանից
Գույների հավելումային միախառնում

RGB (Red, Green, Blue անգլերեն բառերի հապավումն է - կարմիր, կանաչ, կապույտ) - որպես կանոն, գունավերարտադրության համար գույնի համադրման միջոցը նկարագրող հավելումային (ադիտիվային) գունային մոդել է:

Հիմնական գույների ընտրությունը պայմանավորված է մարդու աչքի ցանցաթաղանթի գունընկալման ֆիզիոլոգիայի յուրահատկություններով: RGB գունային մոդելը լայն կիրառում է գտել տեխնիկայում:

Գունային մոդելը կոչվում է հավելումային (ադիտիվային, անգլ.՝ addition), քանի որ գույնն ստացվում է սև գույնին ավելացնելու միջոցով: Այլ կերպ ասած, եթե գունավոր լուսարձակով լուսավորված էկրանի գույնը RGB-ում նշանակվում է (r1, g1, b1), իսկ այլ լուսարձակով լուսավորված նույն էկրանի գույնը՝ (r2, g2, b2), ապա երկու լուսարձակներով լուսավորված էկրանի գույնը նշանակվում է (r1+r2, g1+g2, b1+b2):

Այս գունային մոդելում պատկերը կազմված է երեք խողովակներից: Հիմնական գույների (հիմնական են համարվում կարմիրը, կանաչը և կապույտը) միախառնումից ստացվում են՝ ծիրանագույն (M magenta)` կապույտի (B) և կարմիրի (R) միախառնումից, դեղին (Y yellow)` կանաչի (G) և կարմիրի (R), երկնագույն (С cyan)` կանաչի (G) և կապույտի (B) միախառնումներից: Բոլոր երեք գունային բաղադրամասերի միախառնումից ստացվում է սպիտակ գույնը (W white):

Հեռուստացույցներում և մոնիտորներում կարմիր, կանաչ և կապույտ խողովակների համար օգտագործվում են երեք էլեկտրոնային թնդանոթներ (լուսադիոդի, լուսազտիչի):

RGB գունային մոդելի հետ օգտագործվող առավել տարածված գունային տարածությունը` sRGB-ն շատ գունային երանգների համար ունի ավելի լայն գունային ընդգրկում (կարող է ներկայացնել ավելի հագեցած գույներ), քան CMYK-ում գունային տարածությունների գույների տիպիկ ընդգրկումը: Այդ պատճառով RGB-ով հրաշալի երևացող պատկերները նշանակալիորեն խամրում և մարում են CMYK-ում:

Պատմություն[խմբագրել | խմբագրել կոդը]

Ջեյմս Մաքսվելը 1861 թվականին որպես գունավոր պատկերի ստացման միջոց առաջարկեց գույնի հավելումային (ադիտիվային) սինթեզը:

Սահմանում[խմբագրել | խմբագրել կոդը]

Գույնի փոխանցման հնարավորությամբ sRGB-ի սահմանափակումը
Խորանարդի տեսքով ներկայացվող RGB գունային մոդել

RGB գունային մոդելն ունի սարքային կախվածություն: Քանի որ տարբեր մոդելների և արտադրողների մոնիտորները տարբերվում են, այս գունային մոդելի համար առաջարկվել են գունային տարածքների մի քանի ստանդարտներ: Օրինակ՝ sRGB-ն հանդիսանում է մոնիտորի վրա պատկերման ստանդարտ (համակարգչային գրաֆիկայի համար «լռելյայն» պրոֆիլը): Տարածված է նաև Adobe RGB-ն, իսկ խմբագրման ժամանակ կիրառվում է ProPhoto-ն:

RGB գունային մոդելը կարող է օգտագործել տարբեր հիմնական գույներ (այդ թվում, ֆիզիկապես չիրացվող գույները), «սպիտակ կետի» համար տարբեր գունային ջերմաստիճան և գամմա-շտկման տարբեր ցուցանիշներ:

Թվային ներկայացում[խմբագրել | խմբագրել կոդը]

Շատ հավելվածների համար [0,1] միջակայքին պատկանող r, g և b կոորդինատների արժեքը կարելի է հաշվել, որը RGB տարածությունը ներկայացնում է 1×1×1 խորանարդի տեսքով:

Համակարգիչներում յուրաքանչյուր կոորդինատ ներկայացվում է մեկ օկտետի տեսքով,որի արժեքները հարմարության համար նշանակվում են 0-ից 255-ը ներառյալ ամբողջ թվերով, որտեղ 0-ն նվազագույն, իսկ 255-ն առավելագույն ինտենսիվությունն է: Այս դեպքում հաճախ կիրառվում են գամմա-համակշռված sRGB գունային տարածությունը՝ սովորաբար 1,8 (Mac) կամ 2,2 (PC) ցուցանիշով:

Դրա հետ կիրառվում է նաև 16 բիթանոց գույն (կախված կոնկրետ իրացումից՝ 0 — 65535 կամ 0 — 32768 դիապազոնով), իսկ HDR պատկերների համար՝ 32 բիթանոց գույն (ամբողջ արժեքներով կամ սահող ստորակետով թվերով): Վերջին դեպքում հնարավոր են «սպիտակից սպիտակ» պայծառություն և նույնիսկ «բացասական պայծառություն», որոնք չեն արտածվում էկրանին, բայց պահպանվում են հիշողության մեջ և հաշվարկվում են տարբեր զտումների ժամանակ:

HTML-ում կիրառվում է տասնվեցական կոչվող #RrGgBb գրանցումը. յուրաքանչյուր կոորդինատ գրանցվում է տասնվեցական թվի տեսքով, առանց բացատանիշի: Օրինակ՝ սպիտակ գույնի #RrGgBb գրանցումը #FFFFFF -ն է:

COLORREF[խմբագրել | խմբագրել կոդը]

COLORREF-ը Win32-ում գույն ներկայացնելու համար ստանդարտ ձև է: Կիրառվում է RGB տեսքով գույնի որոշման համար: Չափը՝ 4 բայթ է: Որևէ RGB գույնի որոշման ժամանակ COLORREF տիպի փոփոխականի արժեքը տասնվեցական տեսքով կարելի է ներկայացնել այսպես՝

0x00bbggrr

rr, gg, bb - գույնը կազմող կարմիր, կանաչ և կապույտ գույների ինտենսիվության արժեքներն են: Դրանց առավելագույն արժեքը՝ 0xFF:

COLORREF տիպի փոփոխականը կարելի է որոշել հետևյալ կերպ.

COLORREF C = RGB( r, g, b ),

r, g և b - որոշվող C գույնի համապատասխանորեն՝ կարմիր, կանաչ և կապույտ բաղկացուցիչների ինտենսիվությունը (0 - 255 դիապազոնում) : Այսինքն՝ պայծառ կապույտ գույնը կարող է որոշվել որպես (0,0,255), կարմիրը՝ (255,0,0), պայծառ մանուշակագույնը՝ (255,0,255), սևը՝ (0,0,0), իսկ սպիտակը՝ (255,255,255):

Արտաքին հղումներ[խմբագրել | խմբագրել կոդը]