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

Anfängerfragen zum Programmieren mit PureBasic.
northstarex
Beiträge: 90
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: 8417
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 20.10
NVIDIA Quadro P2200
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: 90
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: 3323
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 / OPC-Helper DLL
PB v3.30 / v5.7x - OS Mac Mini OSX 10.xx / Window 10 Pro. (X64) /Window 7 Pro. (X64) / Window XP Pro. (X86) / Ubuntu 14.04
Downloads auf My Webspace
Antworten