Seite 3 von 4

Verfasst: 30.05.2008 21:27
von PMTheQuick
STARGÅTE hat geschrieben:Äm da PB ja auch (dummer weise) mit BGR arbeitet, dachte ich dann mache ich das auch im Programm

Aber wenn du mir jetzt (auch) sagt das RGB Format besser ist, mache ich das sofort wieder zu RGB
Hm? Seit wann arbeitet PB mit BGR? Also hier is es immer RGB... Naja B2T: Super! Sieht ziemlich schick aus :allright:

Gruss
PMTheQuick ;)

Verfasst: 30.05.2008 21:34
von STARGÅTE
Weil in PB $FF0000 blau ist ! (also BGR)
und in php oder html #0000FF blau ist also RGB

Verfasst: 01.06.2008 07:43
von Kaeru Gaman
genaugenommen nicht!

wenn ich eine 24bit zahl habe wie $FF0000, dann steht die FF als letztes im speicher, im dritten byte.
in php hingegen wird ja #112233 geschrieben, das ist im grunde eine structure.
wenn man das ausschreibt, wird es zu $11, $22, $33, und wenn man es zusammenfasst wird es zu $332211.

im grunde ist es also interpretationssache, wie fasse ich RGB auf - speicherreihenfolge oder schreibweise.

Verfasst: 01.06.2008 11:28
von ZeHa
Das ist zwar korrekt, aber normalerweise gilt für eine Programmiersprache, daß die Schreibweise im Code immer in der "richtigen" Reihenfolge interpretiert wird. Wenn man in PB z.B. $ABCD verwendet (z.B. in einer Berechnung oder einfach mal per Debug ausgibt), dann ist das dezimal 43981 und nicht 52651 ($CDAB). Natürlich wird es im Speicher als $CDAB abgelegt (das liegt am x86-Prozessor), aber es wird stets korrekt interpretiert.

Somit sollte auch ein Farbwert wie $FF0000 tatsächlich rot ergeben und nicht blau. Wenn doch, dann wird tatsächlich mit BGR gearbeitet und nicht mit RGB. Allerdings ist es gut möglich, daß nicht PB dran schuld ist sondern Windows (weil das für einige Dinge wie GDI usw. soweit ich weiß auch mit BGR arbeitet. Es gibt doch glaub ich auch irgendwo eine Funktion, um vom Grafikbuffer abzufragen, mit welchem Farbmodell gearbeitet wird - da müßte ja dann ebenfalls BGR als Ergebnis rauskommen).

Verfasst: 02.06.2008 09:27
von Kaeru Gaman
jetzt hast du dich aber verbuxelt...

> Somit sollte auch ein Farbwert wie $FF0000 tatsächlich rot ergeben und nicht blau. Wenn doch, dann wird tatsächlich mit BGR gearbeitet und nicht mit RGB.

eben nicht. RGB bedeutet, dass im speicher R - G - B steht.
eine 32bit zahl steht nunmal in der reihenfolge Lo->Hi im speicher.
das bedeutet, das erste Byte im speicher ist das least significant,
und deswegen eben der rot-wert.
eine zahl $FF4400 steht nunmal in der reihenfolge 00 - 44 - FF im speicher.
ein code #0044FF ist keine hexadezimalzahl, sondern eine 3byte-struct.

Verfasst: 02.06.2008 09:52
von Andreas_S
Könnte man sich das so merken, dass der Speicher von links nach rechts beschrieben wird? Weil Zahlen schreibt man ja grundsätzlich von rechts nach links...

Verfasst: 03.06.2008 02:25
von STARGÅTE
So ... die Nacht ist wieder mal fast zu ende ... hier das erste miniUpdate

Bild

PureBasicGlas

Update
- GUI aufgeräumt
- vereinfachte bearbeitung (hoffe ich)
- BUG-Fix
- Größenveränderung des Bildes/Fensters
- Laden/Speichern von Bilddaten, und speichern von Bildern
- echtzeit (mit n bisschen Zeitversetzung) generierung
- Derzeit immer noch BGR Modus!

noch nicht behobene Bugs:
- Probleme bei Farben die mit 00 enden, wenns geht also 01 drauß machen.
- Streifen bei unglücklich gewählten Farben
- Hässliche Ränden bei zu starken kontrasten
- Hintergrundbild einladen geht noch nicht.

Verfasst: 03.06.2008 08:19
von Lebostein
Bei mir spiegelt sich irgendwie nichts... der untere Teil des Fensters bleibt einfach nur schwarz

Verfasst: 03.06.2008 09:02
von STARGÅTE
kannst du mal n Screen schicken, wäre nett, danke

Verfasst: 03.06.2008 09:26
von dige
Hier funzt es soweit Prima. Nur laden von eigenen Bilder (ist das damit gemeint) statt Text geht nicht.