im zweifelsfall mit pointer
muss gestehen dass ich solche reference calls meide, weils mir leicht spanisch istCode:void Color16bit2RGB(uint16_t color16, uint8_t* R, uint8_t* G, uint8_t* B) { *R = (uint8_t)((0b1111100000000000 & color16) >> 11); *G = (uint8_t)((0b0000011111100000 & color16) >> 5); *B = (uint8_t)((0b0000000000011111 & color16)); }![]()
pointer sind für mich persönlich einfacher zu handhaben
beim aufruf musst du dann natürlich dioe adressen auflösen
Code:uint8_t myR,myG,myB; Color16bit2RGB(some16bitColor, &myR, &myG, &myB); printf("<font color=\"#%00h%00h%00h\">",myR,myG,myB);
PS: ich habe die einzelnen farben mal auf 8 bit reduziert und einen expliziten cast mit eingebaut damit alles sauber aussieht![]()








Zitieren
Lesezeichen