Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi clRed wird falsch in Hex umgewandelt, warum ? (https://www.delphipraxis.net/38587-clred-wird-falsch-hex-umgewandelt-warum.html)

mimi 21. Jan 2005 13:03


clRed wird falsch in Hex umgewandelt, warum ?
 
Hallo,
ich brauche den hex wert von clRed, dazu habe ich mir folgene funktion geschrieben:
Delphi-Quellcode:
procedure TPW.DrawColorText(Text:String;x,y:Integer;tc:TColor);
var
  s:String;
begin
  s:='#$'+IntToHex(ColorToRgb(tc),9);
  PowerFont1.Scale:= 256;
  PowerFont1.Style:= [fsBold, fsItalic];
  PowerFont1.TextOut(s+ Text, x, y, $3FAFFF);
end;
das #$ muss davor weil ich PowerDraw nutze...
und jetzt bekomme ich falsche farbwerte z.b. bei rot:
0000000FF
rot währe ja
FF00000FF
und bei den andren farben ist das änlich.... warum ???

Dax 21. Jan 2005 13:05

Re: clRed wird falsch in Hex umgewandelt, warum ?
 
Nein, ist schon richtig. Das Windows-Farbmodell ist BGR, und nicht umgekehrt, wie im Internet. Die ersten 2 Hexdigits interessieren auch nicht besonders. ;)

yankee 21. Jan 2005 13:25

Re: clRed wird falsch in Hex umgewandelt, warum ?
 
Zitat:

Zitat von Dax
Nein, ist schon richtig. Das Windows-Farbmodell ist BGR, und nicht umgekehrt, wie im Internet. Die ersten 2 Hexdigits interessieren auch nicht besonders. ;)

Wenn windows eine Möglichkeit hat etwas anders zu machen, als verbreitete Standards, dann macht es dies, oder? :kotz:
Mh, ich laufe in die Gafahr, das mir jetzt einer hierdrauf antwortet und der Thread mi den Worten geschlossen enden wird, aber ich musste das jetzt mal sagen :mrgreen:

sakura 21. Jan 2005 13:29

Re: clRed wird falsch in Hex umgewandelt, warum ?
 
Zitat:

Zitat von yankee
Wenn windows eine Möglichkeit hat etwas anders zu machen, als verbreitete Standards, dann macht es dies, oder?

Wieso? RGB ist einer der Standards von Grafiker, BGR hingegen ist die Art und Weise wie Grafikkarten die Daten verlangen, hat also nichts mit Windows zu tun ;-) Das hat was mit der Reihenfolge der Bytes auf IBM-kompatiblen CPUs zu tun, Microsoft hat das nur so gemacht, weil es schneller ist anstatt andauernd hin-und-her zu rechnen - wäre doch schön dämlich, oder ;-)

...:cat:...

yankee 21. Jan 2005 13:40

Re: clRed wird falsch in Hex umgewandelt, warum ?
 
Zitat:

Zitat von sakura
Zitat:

Zitat von yankee
Wenn windows eine Möglichkeit hat etwas anders zu machen, als verbreitete Standards, dann macht es dies, oder?

Wieso? RGB ist einer der Standards von Grafiker, BGR hingegen ist die Art und Weise wie Grafikkarten die Daten verlangen, hat also nichts mit Windows zu tun ;-) Das hat was mit der Reihenfolge der Bytes auf IBM-kompatiblen CPUs zu tun, Microsoft hat das nur so gemacht, weil es schneller ist anstatt andauernd hin-und-her zu rechnen - wäre doch schön dämlich, oder ;-)

...:cat:...

ok, meinetwegen. dann sind nur die webseiten inkompatibel. Wer hat sich das denn ausgedacht?

sakura 21. Jan 2005 13:45

Re: clRed wird falsch in Hex umgewandelt, warum ?
 
Zitat:

Zitat von yankee
ok, meinetwegen. dann sind nur die webseiten inkompatibel. Wer hat sich das denn ausgedacht?

Nochmal: es sind zwei verschiedene Standards - es gibt keinen globalen. Webseites nutzen RGB, Grafikkarten auf IBMs BGR, Grafiker oft CMYK, dann gibt es noch HSL und HSV ... was solls, damit muss man einfach leben.

...:cat:...


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz