[rgbhex]0,0,255[/rgbhex] also Blau
ich kann natürlich auch 255.0.0 (B.G.R) schreiben, ist aber immernoch Blau, vielleicht schreibt Dein Programm das verkehrt herum,
normal heißt es RGB also Rot/Grün/Blau
in Sachen RGB oder BGR ist nicht einmal Windows konsequent.
Der Struktur PALETTEENTRY verwendet die Reihenfolge Red, Green Blau; der Struktur RGBQUAD dagegen Blue, Green Red. So, ich denke, Frank hat recht - lieber eine Reihenfolge wählen, der den Sprachgebrauch (RGB) folgt, als die gegengesetzte Reihenfolge.
Die Grafikprogramme, die ich kenne, verwenden durchweg RGB, und Traffic auch. Ich schätze, BGR ist die Variante, die am ehesten verwirrt, also würde ich RGB bevorzugen.
Ich selbst habe eigentlich überhaupt keine eigenen Farben im Einsatz, ich verwende aus Gründen der Kompatibilität die Farben der Zeichner, an die ich mich anpasse. Von denen dürfte aber nicht einer hier registriert sein.
Beiträge: 42 Ort: 81739 München Eingetreten: 26.12.06 Status: Offline
Eingetragen am 10.08.2008 01:18
Au weia! Da habe ich ja was angerichtet :u:D.
Also:
Dass die RGB-Werte als Folge von Dezimal-Werten stets mit rot beginnend und mit blau aufhörend dargestellt werden (z.B. Orange = (255,128,0)) ist auch bei mir unbestritten (ich würde auch selbst nie "BGR" sagen).
Was die Hexadezimal-Darstellung betrifft, hat Zoltán mit seiner Aussage Recht, dass es hier (nicht nur im Windows selbst) keine Einheitichkeit gibt.
Dass ich so vehement darauf hingewiesen habe, dass in der Hexadezimal-Schreibweise die "umgekehrte" Reihenfolge "gilt", liegt an meiner maßgeblichen "Borland-Delphi-Prägung" (auch BahnLand ist in Delphi geschrieben).
Ob das nun eine PASCAL-Eigenschaft oder eine Delphi-Spezialität ist, weiß ich nicht. Jedenfalls kann man hier jede RGB-Farbe als Ganzzahlwert (4-Byte-Integer-Zahl) zwischen Dezimal 0 und 16777215 schreiben, wobei die Rot-Werte durch die Zahlen 0, 1, 2, 3, ..., die Grün-Werte durch 0, 256, 2x256, 3x256, ... und die Blau-Werte durch 0, 65536, 2x65536, 3x65536, ... dargestellt werden. Hexadezimal sind dies die Werte 00, 01, ..., FF für rot, 0000, 0100, ..., FF00 für grün und 000000, 010000, ..., FF0000 für blau. Durch Aufaddieren der Rot-, Grün- und Blau-Anteile ergeben sich dann hieraus die bekannten 16 Millionen Truecolor-Farben. Nach dieser Logik hat dann insbesondere die RGB-Farbe "orange" von oben den Hexadezimalwert
0080FF (FF8000 wäre ein mittleres Türkis).
Auch bei den Windows-BitmapS (BMP-Dateien) mit 16 oder 256 Farben werden die verwendeten Farb-Paletten in der Byte-Folge der Datei so dargestellt, dass Blau zuerst kommt und dann von Grün und Rot gefolgt wird. Da die Windows-Palette für jeden Farbton 4 Bytes reserviert, folgt jeweils noch eine Null-Byte.
Stellt man also eine Windows-Bitmap Byte-weise dar, würde man für den Farbton Orange von oben in der Windows-Palette den Wert FF800000 finden.
Nun, MartinV hat auch ein treffendes Beispiel aus der "anderen Fraktion" gefunden, nämlich die HTML-Standard-Farb-Palette. Eigentlich hätte ich's wissen müssen, da ich bei der "Einfärbung" meiner HTML-Seiten selbst schon darüber "gestolpert" bin (so habe ich's dann auch aufgefasst! Ich stolpere da auch heute noch drüber, weil einfach die andere Darstellung in "Fleisch und Blut" übergegangen ist).
Nun denn: Es gibt sicher viel mehr HTML- als Delphi-Programmierer. Ich beuge mich daher der demokratischen Mehrheit und ziehe meinen Einwand von oben zurück. Dennoch bitte ich um Nachsicht, wenn in möglichen zukünftigen Kommentaren von mir (versehentlich) wieder "meine" Variante der Hexadezimalform auftauchen sollte.
dein Einwand mit Delphi in allen Ehren. Nur für mich und wahrscheinlich auch für die meisten anderen Zeichner hier ist nicht entscheidend was in einer Programmiersprache die Entsprechenden RGB/BGR-Werte sind, sondern was man in einem Zeichenprogramm wie Paint, Paint.NET oder Paint Shop Pro an Farbwerten einstellen kann. Denn alle mir bekannten Bildbearbeitungsprogramme/Zeichenprogramme arbeiten mit den RGB-Farben. Was auch schon seinen Grund hat, da auch die meisten anderen Programme mit diesen Werten arbeiten. Was dann tatsächlich in das jeweilige Format geschrieben/gespeichert wird, kann mir als Anwender eigentlich einerlei sein, da ich ja nicht mit dem Quellcode der einzelnen Bilder arbeite, sondern mit dem was mir ein Zeichenprogramm wider ausgibt und das sind nun mal die RGB-Farben.
Ich bin da mal wieder drübergestolpert ... und nun (dato) mein Senf dazu:
Wie der Computer Farbtöne erkennt und anzeigt liegt nicht am Farbschema (das kann er alleine (automatisch) aber er, der Computer, sieht selbst nichts!).
Nur wir sehen, und jeder sieht anders ... und dazu kommt noch, daß jeder Bildschirm anders eingestellt ist. Von der Röhre und TFT-Frage mal ganz zu schweigen, vom Lichteinfall usw. auch mal ganz zu schweigen ist jeder Eindruck immer subjektiv und nicht objektiv.
Diese Webseite verwendet Cookies für die techn. Funktionalität und um Inhalte zu personalisieren und deiner Erfahrung anzupassen. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du den Einsatz von Cookies. » Hier mehr lesen zum Datenschutz «