none
Zahlendreher bei Farbeigenschaften

    Frage

  • Hallo zusammen,

    nur mal eine Anmerkung zu einer Auffaelligkeit:

    Früher (bis 2003) wurden die Farbeigenschaften eines Objektes als Longwert im Eigenschaftsfenster angezeigt. Seit 2007 ist dies aber eine Hexzahl. Nur so richtig scheint die nicht zu stimmen.

    Wähle ich beispielsweise aus dem Farbkatalog das Gelb aus, wird als Eigenschaft '#FFF200' angezeigt. Nehme ich diese Zahl, und lasse sie mir mit ? &HFFF200& anzeigen, bekomme ich 16773632 als Long-Wert heraus, was dem Hexwert ja durchaus entspricht.

    Nehme ich wiederum diesen Longwert und trage ihn manuell als Farb-Eigenschaft ein, wird mein Hintergrund Türkis und im Eigenschaftsfenster steht '#00F2FF'.

    Gehe ich recht in der Annahme, das hier ein Zahlendreher vorliegt und das linke und das rechte Byte vertauscht sind?

    Gruß Roland


    It's no problem, it's just the syntax

    Montag, 27. Mai 2013 12:02

Alle Antworten

  • Deine Vermutung stimmt im Grunde, hat aber einen Hintergrund:

    Das Problem ist nicht die Konvertierung zwischen Hexadezimal- und Dezimalsystem, sondern die nette Tatsache, das entgegen den üblichen Gepflogenheiten, der Wert als BGR und nicht als RGB eingegeben werden muss.

    Montag, 27. Mai 2013 12:12
    Moderator
  • Hi Stefan,

    das sehe ich allerdings nicht als Hintergrund, sondern als Reaktion auf die aussergewöhnliche Anzeige. Es war ja schon immer klar, dass Rot das niederwertigste Byte ist, und normalerweise füllt man den Wert ja entweder mit dem Ergebnis der RGB-Funktion oder direkt mit dem Long. Selbst wenn man sie durch Code mit Hex füllt, trennt man nicht die einzelnen Bytes sondern gibt den Wert als kompletten Hex ein. Und da steht Rot nun mal am Ende.

    Sollte wohl jedem klar sein, dass RGB(&H255,&H0,&H0) = &H0000FF&  und nicht &HFF0000& ist.


    It's no problem, it's just the syntax

    Montag, 27. Mai 2013 12:44