das erste in eine Funktion zu packen mit Rückgabewert, ist ja einfach -
kann man die Rückwärtstransformierung so programmieren (bin mir unsicher wegen pass per reference):Code://--------------------------------------------------------- // ColorRGB2color16bit //--------------------------------------------------------- int16_t ColorRGB2color16bit(uint16_t R, uint16_t G, uint16_t B) { return ((uint16_t)R << 11) | (((uint16_t)G << 5) & 0b0000011111100000) | ((uint16_t)B & 0b0000000000011111); ]
Code://--------------------------------------------------------- // Color16bit2RGB //--------------------------------------------------------- void Color16bit2RGB(uint16_t color16, uint16_t &R, uint16_t &G, uint16_t &B) { R = (0b1111100000000000 & color16) >> 11; G = (0b0000011111100000 & color16) >> 5; B = (0b0000000000011111 & color16); }







Zitieren

Lesezeichen