Seite 1 von 1

Mal nachgefragt: Das ist doch kein RGB Wert, oder?

Verfasst: 23.08.2021 14:25
von northstarex
Ich frage mal ganz doof:

Wenn ich den RGB Wert ffb900 haben will und diesen so z.B. in ClearScreen($ffb900) eingeben, dann kommt eine ganz andere Farbe heraus. Erst wenn ich statt RGB, BGR bei ClearScreen (also so: $00b9ff) eingebe, dann ist alles schön. Kann man das umstellen, das wirklich RGB angegeben und verarbeitet werden kann?

Re: Mal nachgefragt: Das ist doch kein RGB Wert, oder?

Verfasst: 23.08.2021 16:27
von NicTheQuick
Das Problem ist, dass es im Speicher wirklich als RGB steht, und deswegen heißt es auch so, aber wegen der Little Endian Notation, musst du es in umgekehrter Weise schreiben. Du kannst dir natürlich ein Makro schreiben, das es ermöglicht den Wert auch so anzugeben wie du es gewohnt bist.
Hier zur Info ein Codeschnipsel:

Code: Alles auswählen

color.l = $010203

Debug RSet(Hex(color), 6, "0")

Debug PeekA(@color)
Debug PeekA(@color + 1)
Debug PeekA(@color + 2)

Re: Mal nachgefragt: Das ist doch kein RGB Wert, oder?

Verfasst: 23.08.2021 17:34
von northstarex
siehste... wieder was dazu gelernt. Da kann man mal sehen, trotz damaliger Maschinensprachenprogrammierung ist bei mir dieses wieder ganz untergegangen. Man ist heutzutage viel zu verwöhnt in Sachen Programmierung ;)

Thx :)

Re: Mal nachgefragt: Das ist doch kein RGB Wert, oder?

Verfasst: 23.08.2021 18:58
von mk-soft
For direct access ...

Code: Alles auswählen

;-TOP

Structure udtRGBA
  Red.a
  Green.a
  Blue.a
  Alpha.a
EndStructure

Structure udtColorRGBA
  StructureUnion
    Color.l
    Element.udtRGBA
  EndStructureUnion
EndStructure

c1.udtColorRGBA\Color = #Yellow

Debug "Value = " + c1\Color
Debug "Red   = " + c1\Element\Red
Debug "Green = " + c1\Element\Green
Debug "Blue  = " + c1\Element\Blue
Debug "Alpha = " + c1\Element\Alpha