Einzelnen Beitrag anzeigen

mensch72

Registriert seit: 6. Feb 2008
838 Beiträge
 
#3

AW: Farbwerte von 24 Bit RGB zu 16 Bit RGB (565) konventieren

  Alt 12. Nov 2014, 23:17
ein Zusammenhang mit einem Dreisatz erschließt sich mir hier nicht... ich empfehle ganz einfaches binäres ausmaskieren und Bit-Schieben:

rgb24 : DWORD;
rgb16 : WORD;

//xxxxxxxx RRRRRrrr GGGGGGgg BBBBBbbb -> RRRRRGGG GGGBBBBB
//eventuell ist Rot&Bbau vertauscht, das ist aber wurscht weil symmetrisch

rgb16:=WORD(DWORD( ((rgb24 and $f80000) shr 8) or ((rgb24 and $fc00) shr 5) or ((rgb24 and $f8) shr 3) ))
  Mit Zitat antworten Zitat