JLI Spieleprogrammierung Foren-Übersicht JLI Spieleprogrammierung

 
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen 
 medals.php?sid=1c49f732c3382033f2377a20834e27d8Medaillen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Farben

 
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
magynhard
Super JLI'ler



Anmeldedatum: 26.04.2003
Beiträge: 461
Wohnort: Wild durch die Welt ;-)
Medaillen: Keine

BeitragVerfasst am: 20.05.2003, 16:24    Titel: Farben Antworten mit Zitat

Ich habe gerade gelernt, dass ich Farben entweder Hexadezimal oder per RGB(rotanteil,grünanteil,blauanteil) angeben kann.
[leider stimmten die Hexadezimalbeispiele nicht Wink - aber nicht so wild, nun zur Sache:]

Bei RGB geht die Skala jedweils bis 255.
Hexadezimal funktioniert das ja doch rein theoretisch nur bis jeweils 224, da ff 224 ergibt.

Aber RGB(224,224,224) ist noch ein leichtes grau, weil es erst bei jeweils 255 komplett weiß wird.

0x00ffffff ergibt jedoch auch weiß.

-1. Frage
Das bedeutet doch, das bei der Hexadezimalen Schreibweise zwischendrinnen ein paar (kaum bemerkbare) Stufen herausgelassen worden sind, da ff ja 224 = weiß entspricht? Rolling Eyes

-2. Frage
Man spart dann doch Perfomance, wenn man die hexadezimale Schreibweise verwendet, da diese sofort fertig da steht?

Laut MSDN ist RGB aber eine #define - d. h. das die Werte im RGB durch den Farbwert ersetzt würden - das kann aber doch nicht sein, da man z.B. im Beispiel (schöne Wortwiederholung Wink ) den Wert für Rot mit einer Variable belegt. Höchstens der Compiler ist so schlau und ....
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Kampfhund
Super JLI'ler


Alter: 42
Anmeldedatum: 20.07.2002
Beiträge: 408

Medaillen: Keine

BeitragVerfasst am: 20.05.2003, 16:30    Titel: Antworten mit Zitat

f = 15 // eine stellt: werte von 0 - f(15)

ff = 255 // zwei stellen: werte von 0- 255
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
magynhard
Super JLI'ler



Anmeldedatum: 26.04.2003
Beiträge: 461
Wohnort: Wild durch die Welt ;-)
Medaillen: Keine

BeitragVerfasst am: 20.05.2003, 17:03    Titel: Antworten mit Zitat

ja, f ist 15, wie schon erwähnt,
das hieße aber doch, dass ff gleich 15*15 ist, was 225 wäre, aber es geht ja von 0 an los -> 224 und NICHT 255.
ff = 0-255 wäre doch unlogisch! Wink
...
Oder irre ich mich etwa? Rolling Eyes
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Hazel
JLI MVP
JLI MVP


Alter: 39
Anmeldedatum: 19.07.2002
Beiträge: 1761

Medaillen: Keine

BeitragVerfasst am: 20.05.2003, 17:25    Titel: Antworten mit Zitat

Das sind 8 Bit pro Farbkomponente: 2^8 = 256
_________________
*click* Dabuu!?
Twitter: http://twitter.com/Ollie_R
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
magynhard
Super JLI'ler



Anmeldedatum: 26.04.2003
Beiträge: 461
Wohnort: Wild durch die Welt ;-)
Medaillen: Keine

BeitragVerfasst am: 20.05.2003, 18:06    Titel: Antworten mit Zitat

Ähm hmm ich zähle am besten selbst mal durch Rolling Eyes

Code:

0 1 2 3 4 5 6 7 8 9
a b c d e f 10 11 12 13
14 15 16 17 18 19 1a 1b 1c 1e
1d 1f 20 21 22 23 24 25 26 27
28 29 2a 2b 2c 2d 2e 2f 30 31
32 33 34 35 36 37 38 39 3a 3b
3c 3d 3e 3f 40 41 42 43 44 45
46 47 48 49 4a 4b 4c 4d 4e 4f
50 51 52 53 54 55 56 57 58 59
5a 5b 5c 5d 5e 5f 60 61 62 63
64 65 66 67 68 69 6a 6b 6c 6d
6e 6f 70 71 72 73 74 75 76 77
78 79 7a 7b 7c 7d 7e 7f 80 81
82 83 84 85 86 87 88 89 8a 8b
8c 8d 8e 8f 90 91 92 93 94 95
96 97 98 99 9a 9b 9c 9d 9e 9f
a0 a1 a2 a3 a4 a5 a6 a7 a8 a9
aa ab ac ad ae af b0 b1 b2 b3
b4 b5 b6 b7 b8 b9 ba bb bc bd
be bf c0 c1 c2 c3 c4 c5 c6 c7
c8 c9 ca cb cc ce cf d0 d1 d2
d3 d4 d5 d6 d7 d8 d9 da db dc
dd de df e0 e1 e2 e3 e4 e5 e6
e7 e8 e9 ea eb ec ed ee ef f0
f1 f2 f3 f4 f5 f6 f7 f8 f9 fa
fb fc fd fe ff


25 zeilen àla 10 zeichen
und
1 zeile àla 5 Zeichen

= 25*10+5 = 255


Mist, da habe ich mich geirrt und das tippen war garnicht so spaßig Shocked
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
AFE-GmdG
JLI MVP
JLI MVP


Alter: 45
Anmeldedatum: 19.07.2002
Beiträge: 1374
Wohnort: Irgendwo im Universum...
Medaillen: Keine

BeitragVerfasst am: 20.05.2003, 20:20    Titel: Antworten mit Zitat

Das tippen hättest du dir auch vereinfachen können...
Code:

00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F
20 21 22 23 24 25 26 27 28 29 2A 2B 2C 2D 2E 2F
30 ...
40
50
60
70
80
90
A0
B0
C0
D0 D1 D2 D3 D4 D5 D6 D7 D8 D9 DA DB DC DD DE DF
E0 E1 E2 E3 E4 E5 E6 E7 E8 E9 EA EB EC ED EE EF
F0 F1 F2 F3 F4 F5 F6 F7 F8 F9 FA FB FC FD FE FF

ergibt ein 2 Dimensionales Feld von 16 mal 16 Einträgen: 16 x 16 = 256. (von 0 bis 255 durchgezählt)
Du schriebst 15 x 15 = 225, was ja auch richtig ist, aber 225 ist nich 256 -1... Und bei der 15 (representiert das F) mußt du auch die 0 mitzählen!, also nich 15 x 15 sondern 16 mal 16 - Eben 8 Bit.

Damit ergibt sich eine "Eins zu Eins Darstellung" und es werden keine "Farbwerte" ausgelassen. Das Hexadezimalsystem ist einfach nur ein anderes Zahlensystem, es wird nichts ausgelassen oder so.

Um es ganz genau zu sagen, man kan die 4 Grundrechenoperationen auf jedes Zahlensystem anwenden, also z.B. auch auf das Binäre. Und dort gelten die gleichen Regeln wie in jedem anderem Zahlensystem, man kann also auch im Binären Zahlensystem (oder auch im Hexadezimalen) Schriftlich Addieren oder Subtrahieren usw.

Beispiel:
Code:

    5    0101    5
  + 6  + 0110  + 6
  ---  ------  ---
   11    1011    B


AFE-GmdG
_________________
CPP:
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&write(1,(--s%L?_<(L)?--_
%6:6:7)+\"World! \\n\",1)&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
gl_echse
JLI'ler



Anmeldedatum: 01.01.2003
Beiträge: 105

Medaillen: Keine

BeitragVerfasst am: 21.05.2003, 18:55    Titel: Antworten mit Zitat

es geht bis 255, da 0->255 genau 256 = 1 byte gibt.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    JLI Spieleprogrammierung Foren-Übersicht -> Entwicklung Alle Zeiten sind GMT
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.


Powered by phpBB © 2001, 2005 phpBB Group
Deutsche Übersetzung von phpBB.de

Impressum