PureBasic, warum so kommische Farbangaben?

Hallo,

Ich habe die demo-version von PureBasic wie man aus einen anderen Artikel von mir entnehmen kann und habe mir diesen Tutorial herutergeladen. Jetzt hab ich das mit den Frontcolor(R,G,B) nicht verstanden, wieso kann ich nicht einfach für Weiss z.B. 255,255,255 eintippen, sondern muss 255+256*255+256*256*255 eintippen? Und gibt es da ihrgendwo eine Anleitung wo das erklärt wird?

Hi Michael,

wieso kann ich nicht einfach für Weiss z.B. 255,255,255
eintippen, sondern muss 255+256*255+256*256*255 eintippen?

255 (dez) = FF (hex)

Für RGB:

FFFFFF = 255+256*255+256*256*255 = 16777215

Rechnerisch ist es logisch, die Umsetzung ist für die Programmierung aber eher unbequem. Vielleicht erstellst Du eine Funktion für die Umrechnung, die Dir die Sache vereinfacht?
In etwa:

Procedure Color (R,G,B)
 result = R+256\*G+256\*256\*B
 ProcedureReturn result
EndProcedure

Ciao,
Rudy

Hi Michael,

wieso kann ich nicht einfach für Weiss z.B. 255,255,255
eintippen, sondern muss 255+256*255+256*256*255 eintippen?

255 (dez) = FF (hex)

Für RGB:

FFFFFF = 255+256*255+256*256*255 = 16777215

Rechnerisch ist es logisch, die Umsetzung ist für die
Programmierung aber eher unbequem. Vielleicht erstellst Du
eine Funktion für die Umrechnung, die Dir die Sache
vereinfacht?
In etwa:

Procedure Color (R,G,B)
result = R+256*G+256*256*B
ProcedureReturn result
EndProcedure

Ist das Unabhänig von der Farbtiefe?

Hallo,

Ist das Unabhänig von der Farbtiefe?

Für einen Farbmodus, der 16Mio Farben nicht darstellen kann (kleiner als 24Bit), musst Du den Farbwert anpassen, um eine möglichst genaue Näherung der Farbe zu erhalten. Hier findest Du ein Beispiel: http://www.purearea.net/pb/CodeArchiv_v393/Graphics/…

Bye,
Rudy