Felicie Geschrieben 19. Dezember 2002 Geschrieben 19. Dezember 2002 Hallo, kann mir jemand sagen, wie das mit der Farbberechnung geht? Also, z.B. ich habe einen Pixel in der Farbe (0, 0, 255) wenn ich hier die Helligkeit erhöhen will muss ich ja zuerst die RGB - Werte in dieses YUV - System umrechnen...und dann die Y - Komponente (die steht wohl für die Helligkeit) erhöhen. Oder? So, und dann das ganze wieder zurückrechnen, damit ich di eRGB - Werte der erhellten Farbe habe. Aber z.B. bei oberem Beispiel, komme ich hinterher über 255 wenni ch den Y - Wert nur * 2 nehme. Wie wird das dann gemacht? Wird der Rest dann irgendwie auf den Kontrast gepackt? Und was ist mit Kommazahlen, die man zwischendurch rausbekommt? Aufrunden? Abrunden? Hilfe!!! Felicie! Zitieren
Crush Geschrieben 19. Dezember 2002 Geschrieben 19. Dezember 2002 Es wäre gut wenn Du posten würdest, was Du genau gerechnet hast. Aber eine Sache ist klar: 0,0,255 ist eine maximale Farbe. Eine höhere Intensität als 255 ist für einen Farbwert nicht realisierbar (auch wenn manche von den neuen Grafikkarten intern mit höherer Farbdichte arbeiten). Nehm mal einen kleineren Wert, dann sollten die 255 nicht überschritten werden. Um die Helligkeit zu erhöhen muß man nicht unbedingt mit YUV rechnen (was relativ kompliziert ist). Man kann einfach Die RGB-Werte im gleichen Verhältnis hochzählen. D.h. z.B. RGB(10,25,128) auf +30% in der Helligkeit erhöhen heißt: den höchsten Farbwert raussuchen. Max% wäre 128*100/255=50,19%. Dieser Wert darf nicht überschritten werden! Also 10*1.3, 25*1.3 , 128*1,3, was: RGB(13,33(aufgerundet),166 (abgerundet)) wäre. Das Problem ist, daß die Grundfarbe natürlich bei starker Verkleinerung verloren geht, weshalb man den Farbwert speichern und immer damit alles berechnen sollte. Zitieren
TAZttDevil Geschrieben 27. Januar 2003 Geschrieben 27. Januar 2003 am einfachsten probierst du das aus... ich habe dir hier mal ein kleines beispiel in html fertig gemacht: http://www.tazttdevil.net/demo/farbtabellen.htm vielleicht hilft dir das zu verstehen... gruß Taz Zitieren
IT-FT Geschrieben 28. Januar 2003 Geschrieben 28. Januar 2003 Also in DirectX gehts so YUV aus RGB Y = 0.3R + 0.6G + 0.1B U = B - Y V = R - Y oder Y = 0.3R + 0.6G + 0.1B U = -0.3R - 0.6G + 0.9B V = 0.7R - 0.6G - 0.1B RGB aus YUV R = Y + V G = Y - 0.166667U - 0.5V B = Y + U Alle Werte liegen zwischen 0 und 1.0. In DirectDraw, von 0 bis 255. Sonstige Kurzinfo unter Video-Tools.De ansonsten Google [YUV] Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.