Odpověď na: TFT displej a definování barev
Úvodní stránka › Fórum › Hardware › Displeje › TFT displej a definování barev › Odpověď na: TFT displej a definování barev
22.5.2016 v 21:57
#6959
Zbyšek Voda
Správce
Dobrý den, TFT displeje často používají 16-bit barevný režim.
Podívejte se sem – http://www.willamette.edu/~gorr/classes/GeneralGraphics/imageFormats/. Pod „16 bit color“ je tam tento režim popsaný.
Zkráceně: Jak to funguje?
Na popis barvy máte celkem 16 bitů. 5 na červenou, 6 na zelenou, 5 na modrou (lidské oko je na zelenou citlivější, proto má o jeden bit více). Bity jsou uspořádány takto:
|r|r|r|r|r|g|g|g|g|g|g|b|b|b|b|b|
Jak dosáhnout barev?
Na červenou a modrou máte 5 bitů – tedy hodnoty 0 – 31
Na zelenou 6 bitů – 0 – 63
Kod:
uint16_t barva(int r, int g, int b){
r = r % 32;
g = g % 64;
b = b % 32;
r = r << 11;
g = g << 5;
return r | g | b;
}
Tedy uint16_t(0,0,0)
vrátí hodnotu černé.