PureBASIC - Suche Farbtabelle
Suche Farbtabelle für PureBASIC
Hallo Leute!
Ich habe vor ein paar Tagen angefangen PureBASIC zu lernen. In dem Tutorial das ich benutzt habe (das von www.purebasic.de1), heißt es, dass im Anhang A eine vollständige Liste enthalten sei. Leider gibt es keinen Anhang. Naja jedenfalls suche ich jetzt eine Liste mit den wichtigsten Farbparametern.
Zur not reicht auch ne Erklärung, wie ich den Wert selbst errechnen kann.
Außerdem ist das Tutorial an der Stelle über Farben scheinbar Fehlerhaft, denn was im Tut. steht unterscheidet sich von der bei liegenden Beispieldatei.
Damit auch jeder weiß, was ich meine hier mal ein Beispiel.
Das ist das was im Tutorial stand und im Debug-Mode als Fehlerhaft erkannt wird.
Kann mir bitte, bitte jemand erklären wie das funktioniert?
Bin nämlich mitlerweile etwas verwirrt.
Danke schonmal
Greetz
Diskilla
Hallo Leute!
Ich habe vor ein paar Tagen angefangen PureBASIC zu lernen. In dem Tutorial das ich benutzt habe (das von www.purebasic.de1), heißt es, dass im Anhang A eine vollständige Liste enthalten sei. Leider gibt es keinen Anhang. Naja jedenfalls suche ich jetzt eine Liste mit den wichtigsten Farbparametern.
Zur not reicht auch ne Erklärung, wie ich den Wert selbst errechnen kann.
Außerdem ist das Tutorial an der Stelle über Farben scheinbar Fehlerhaft, denn was im Tut. steht unterscheidet sich von der bei liegenden Beispieldatei.
Damit auch jeder weiß, was ich meine hier mal ein Beispiel.
FrontColor(255,255,255)
WeißDas ist das was im Tutorial stand und im Debug-Mode als Fehlerhaft erkannt wird.
FrontColor(255+256*255+256*256*255)
Im Endeffekt GelbKann mir bitte, bitte jemand erklären wie das funktioniert?
Bin nämlich mitlerweile etwas verwirrt.
Danke schonmal
Greetz
Diskilla
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 45206
Url: https://administrator.de/contentid/45206
Ausgedruckt am: 28.11.2024 um 06:11 Uhr
11 Kommentare
Neuester Kommentar
Also zur PureBasic-Sytax kann ich dir leider nichts sagen, aber ich kann dir das mit den Farben erklären.
Die drei Werte xxx,xxx,xxx sind der RGB-Wert der Farbe, das erste Triple gibt den Rot-Wert an, das zweite Blau und das Dritte Blau. So ergeben sich (255,0,0) --> Rot, (0,255,0) --> Grün und (0,0,255) --> Blau und (0,0,0) --> Schwarz. Alle Triples mit drei gleichen Werten ergeben unterschiedlich dunkle Grauwerte. Eine ganz gute Farbtabelle mit RGB-Werten findest du zb. unter http://www.pitt.edu/~nisg/cis/web/cgi/rgb.html
[EDIT]Gerade gefunden und evtl interessant: http://www.purearea.net/pb/german --> Anleitungen --> Zusätzliche Funktionen --> Farbtabelle und der Rest der Seite [/EDIT]
geTuemII
FrontColor(255,255,255) Weiß
Die drei Werte xxx,xxx,xxx sind der RGB-Wert der Farbe, das erste Triple gibt den Rot-Wert an, das zweite Blau und das Dritte Blau. So ergeben sich (255,0,0) --> Rot, (0,255,0) --> Grün und (0,0,255) --> Blau und (0,0,0) --> Schwarz. Alle Triples mit drei gleichen Werten ergeben unterschiedlich dunkle Grauwerte. Eine ganz gute Farbtabelle mit RGB-Werten findest du zb. unter http://www.pitt.edu/~nisg/cis/web/cgi/rgb.html
[EDIT]Gerade gefunden und evtl interessant: http://www.purearea.net/pb/german --> Anleitungen --> Zusätzliche Funktionen --> Farbtabelle und der Rest der Seite [/EDIT]
geTuemII
... war vermutlich nur ein Schreibfehler
@alex:
Oder ein Freudscher: Donnerstag, Sackgasse programmiertechnischer Art und noch Monate bis Weihnachten... Da kann sowas schon mal passieren
@Diskilla:
Sam hat natürlich recht, aber damit alle wissen, wovon wir reden, korrigiere ich es oben _nicht_. So! :P
geTuemII
Hi,
in PureBasic muss man anscheinend nicht die einzelnen Triplets angeben, sondern diese "ale ganze Zahl" formatieren.
Aber Achtung: Nicht mit 255 multiplizieren, sondern mit 256!!!
Wert = R + G*256 + B*256*256
oder
Wert = R*256*256 + G*256 + B
Gibt es in PureBasic eine Funktion namens RGB(), die würde das "umrechnen" von sich aus machen ...
cu,
Alex
in PureBasic muss man anscheinend nicht die einzelnen Triplets angeben, sondern diese "ale ganze Zahl" formatieren.
Aber Achtung: Nicht mit 255 multiplizieren, sondern mit 256!!!
Wert = R + G*256 + B*256*256
oder
Wert = R*256*256 + G*256 + B
Gibt es in PureBasic eine Funktion namens RGB(), die würde das "umrechnen" von sich aus machen ...
cu,
Alex
Hi,
es würde auch ansatzweise gehen, wenn Du es mit 200 multiplizierst
Das RGB triplet wird halt in einer 3 Byte Darstellung abgebildet, ein byte hat halt nunmahl den Werteumfang von 0..255, also muss man, um ein Byte um 8 bit zu verschieben, diesen Wert mit 256 multiplizieren.
Wenn Du 3 kg Äpfel kaufen willst - wieviel Gramm macht das? 3x1000g=3000g - das macht auch nicht viel Unterschied, wenn Du das kg mit 998 Gramm annimmst - du bekommst halt 6 Gramm weniger und irgendwann wird Dir auffallen, dass dich jemand beschi**en hat
cu,
Alex
es würde auch ansatzweise gehen, wenn Du es mit 200 multiplizierst
Das RGB triplet wird halt in einer 3 Byte Darstellung abgebildet, ein byte hat halt nunmahl den Werteumfang von 0..255, also muss man, um ein Byte um 8 bit zu verschieben, diesen Wert mit 256 multiplizieren.
Wenn Du 3 kg Äpfel kaufen willst - wieviel Gramm macht das? 3x1000g=3000g - das macht auch nicht viel Unterschied, wenn Du das kg mit 998 Gramm annimmst - du bekommst halt 6 Gramm weniger und irgendwann wird Dir auffallen, dass dich jemand beschi**en hat
cu,
Alex
ok das klingt logisch und funktioniert, aber warum geht es auch, wenn ich mit 255 multipliziere?
Möglicherweise kannst Du die Farbunterschiede nicht so gut wahrnehmen, wenn bei 24-Bit-Zahlenwerten Unterschiede von ein paar 10000 herauskommen.
Einige unter uns können nicht mal Rot und Grün unterscheiden, geschweige denn ein Rot(134) von einem Rot(145).
In letzter Zeit mal bei Fielmann vorgesprochen?
Ob bzw. dass da etwas Unterschiedliches herauskommt, kannst Du ja hinterher überprüfen durch die PureBasic-Funktionen Red(), Green() und Blue(), die Dir den einzelnen RGB-Wert je Farbe rausfieseln.
Gruß
Biber
FrontColor(RGB(145,255,145))
Damit gehts und das kann ich mir gut merken.
Damit gehts und das kann ich mir gut merken.
Ist ja auch intuitiv verständlich und fast schon selbstdokumentierend..
Zur Lern- und Erfolgskontrolle:
Kannst Du Deinen Beitrag dann mit einem grünen Haken versehen bitte?
Dies ist nämlich ein ein Mod-loser Nebenarm des Forums hier.
Gruß
Biber