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

Anfängerfragen zum Programmieren mit PureBasic.
northstarex
Beiträge: 103
Registriert: 25.08.2013 18:04
Computerausstattung: alles mögliche^^
Wohnort: Schöppenstedt
Kontaktdaten:

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

Beitrag 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?
Bild
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8675
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

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

Beitrag 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)
Bild
northstarex
Beiträge: 103
Registriert: 25.08.2013 18:04
Computerausstattung: alles mögliche^^
Wohnort: Schöppenstedt
Kontaktdaten:

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

Beitrag 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 :)
Bild
Benutzeravatar
mk-soft
Beiträge: 3695
Registriert: 24.11.2004 13:12
Wohnort: Germany

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

Beitrag 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
Alles ist möglich, fragt sich nur wie...
Projekte ThreadToGUI / EventDesigner V3 / OOP-BaseClass-Modul
Downloads auf MyWebspace / OneDrive
Antworten