diskilla
Goto Top

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.

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 Gelb

Kann mir bitte, bitte jemand erklären wie das funktioniert?
Bin nämlich mitlerweile etwas verwirrt.

Danke schonmal

Greetz

Diskilla

Content-Key: 45206

Url: https://administrator.de/contentid/45206

Printed on: April 19, 2024 at 15:04 o'clock

Member: geTuemII
geTuemII Nov 23, 2006 at 16:51:32 (UTC)
Goto Top
Also zur PureBasic-Sytax kann ich dir leider nichts sagen, aber ich kann dir das mit den Farben erklären.

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
Member: DaSam
DaSam Nov 23, 2006 at 17:56:37 (UTC)
Goto Top
Hi,

die Triplets sind natürlich Rot, Grün, Blau ... war vermutlich nur ein Schreibfehler face-wink

cu,
Alex
Member: geTuemII
geTuemII Nov 23, 2006 at 18:28:58 (UTC)
Goto Top
... war vermutlich nur ein Schreibfehler face-wink

@alex:
Oder ein Freudscher: Donnerstag, Sackgasse programmiertechnischer Art und noch Monate bis Weihnachten... Da kann sowas schon mal passieren face-wink

@Diskilla:
Sam hat natürlich recht, aber damit alle wissen, wovon wir reden, korrigiere ich es oben _nicht_. So! :P

geTuemII
Member: Diskilla
Diskilla Nov 25, 2006 at 13:48:02 (UTC)
Goto Top
Coole Sache. Das war genau das, was ich gesucht hab.

Danke schön.

Trotzdem versteh ich eins immer noch nicht. Ich habe PureBasic 4.0 erworben und dort fu nktioniert nur diese Version

FrontColor(255+255*0+255*255+255)

Die Version mit den Kommas wird als WrongParameter bezeichnet.

Greetz Diskilla
Member: DaSam
DaSam Nov 26, 2006 at 09:04:46 (UTC)
Goto Top
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
Member: Diskilla
Diskilla Nov 26, 2006 at 11:45:32 (UTC)
Goto Top
ok das klingt logisch und funktioniert, aber warum geht es auch, wenn ich mit 255 multipliziere?
Member: DaSam
DaSam Nov 26, 2006 at 11:51:13 (UTC)
Goto Top
Hi,

es würde auch ansatzweise gehen, wenn Du es mit 200 multiplizierst face-wink

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 face-wink

cu,
Alex
Member: Biber
Biber Nov 26, 2006 at 11:55:48 (UTC)
Goto Top
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? face-wink

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
Member: Diskilla
Diskilla Nov 27, 2006 at 11:47:22 (UTC)
Goto Top
In letzter Zeit mal bei Fielmann
vorgesprochen? face-wink


Hab 125% Sehkraft haha face-wink
Spaß bei Seite.
habs verstanden.
Hab auch in der Hilfe Datei von PB was gefunden.

Man kann auch den Befehl so schreiben:

FrontColor(RGB(145,255,145))

Damit gehts und das kann ich mir gut merken.
^^
Member: Biber
Biber Nov 27, 2006 at 12:03:49 (UTC)
Goto Top
FrontColor(RGB(145,255,145))
Damit gehts und das kann ich mir gut merken.

Ist ja auch intuitiv verständlich und fast schon selbstdokumentierend.. face-big-smile

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
Member: Diskilla
Diskilla Nov 28, 2006 at 07:45:55 (UTC)
Goto Top
Danke hätt ich vergessen.