ich habe in einem Programm einen Farbraum von 0 bis 65535 und muss nun zwei Farben für diesen Farbraum berechnen.
Kann mir jemand sagen, wie ich aus den drei RGB-Werten, jeweils zwischen 0 und 255 die dezimale Zahl zwischen 0 und 65535 herausbekomme?
war nicht wirklich hilfreich, da Deine Links nicht mein Problem behandeln, sondern lediglich die Umrechnung von RGB in INT machen, das hätte ich auch selbst können - bzw. englishsprachige Suchanfragen enthalten, auch das habe ich längst selbst gemacht, aber ohne Erfolg.
Wenn Du nichts besseres auf Lager hast, macht es keinen Sinn auf eine Anfrage zu antworten, nur um etwas gesagt zu haben.
ich habe in einem Programm einen Farbraum von 0 bis 65535 und
muss nun zwei Farben für diesen Farbraum berechnen.
Kann mir jemand sagen, wie ich aus den drei RGB-Werten,
jeweils zwischen 0 und 255 die dezimale Zahl zwischen 0 und
65535 herausbekomme?
wenn ich das recht verstehe, willst Du die RGB-Anteile aus einwm 8bit-Farbraum in einen 16bit-Farbraum umrechnen. Dann kannst Du doch linear umrechnen. y = 65535 * x / 255
Das ist ein relativ altes Muster, welches aus der alten DOS-Welt stammt. Man hat damals mit 16 Bit gearbeitet und diese 16 Bit in 2 Mal 5 und 1 Mal 6 Bit aufgeteilt. Das Ergebnis sind 65536 mögliche Farbwerte, die jeweils eine Farbnuance darstellen.
Nein, ich möchte aus einem 24 Bit Farbraum, der die Farben mit jeweils drei dreistelligen Zahlen für R, G und B darstellt in einen 16 Bit Farbraum umrechnen, der die Farben mit ganzzahligen Werten zwischen 0 und 65535 darstellt.
Ich bin mir durchaus darüber im Klaren, dass mir damit nur noch 65536 Farben zur Verfügung stehen, statt 16,7 Mio Farben, aber das Programm für das ich dies brauche, kann einfach nicht mehr.
ich habe in einem Programm einen Farbraum von 0 bis 65535 und
muss nun zwei Farben für diesen Farbraum berechnen.
Kann mir jemand sagen, wie ich aus den drei RGB-Werten,
jeweils zwischen 0 und 255 die dezimale Zahl zwischen 0 und
65535 herausbekomme?
Wenn ich den Wikipedia Artikel richtig verstehe setzt sich das wie folgt zusammen:
Im 16-Bit-Farbraum sind 5 Bits für Rot, 6 Bits für Grün und 5 Bits für Blau vorgesehen. Da unser Auge auf grün besonders empfinglich reagiert, gibt es dafür doppelt so viel Farbtöne wir für Rot oder Blau.
Die Umrechnungsformel von 16,7 Mio. Farben auf 65536 Farben lautet also:
Bei der Berechnung kann es jedoch zu ungewünschten Nebeneffekten kommen, wenn der Compiler optimiert. Es muss sicher gestellt werden, dass die überzähligen Bits wirklich ausgeblendet werden. Daher besser diese Formel verwenden:
Im 16-Bit-Farbraum sind 5 Bits für Rot, 6 Bits für Grün und 5
Bits für Blau vorgesehen. Da unser Auge auf grün besonders
empfinglich reagiert, gibt es dafür doppelt so viel Farbtöne
wir für Rot oder Blau.
Die Umrechnungsformel von 16,7 Mio. Farben auf 65536 Farben
lautet also:
Bei der Berechnung kann es jedoch zu ungewünschten
Nebeneffekten kommen, wenn der Compiler optimiert. Es muss
sicher gestellt werden, dass die überzähligen Bits wirklich
ausgeblendet werden. Daher besser diese Formel verwenden: