Forum: PC-Programmierung Get HSV value from RGB value


von QTuser (Gast)


Lesenswert?

Hallo,
in QT versuche ich einen RGB Wert in einen HSV Wert zu konvetieren.

bei der Farbe
R=48
G=128
B=0

QT sagt
H=97
S=255
V=128

aber es müsste

H=98
S=100
V=50

Sein

Wieso macht es die QColor Class anderes und wie komme ich auf den 
richtigen Wert?

Danke

von Horst G. (horst_g532)


Lesenswert?

Hue passt doch (ungefähr).
=> Sieht schlicht nach anderer Skalierung für S und V aus (100% statt 
255).

von Εrnst B. (ernst)


Lesenswert?

QT skaliert Value und Saturation von 0…255, dein Vergleichswert arbeitet 
mit Prozentwerten 0…100%?

Deswegen entspricht S=255 deinen gewünschten S=100% und V=128 entspricht 
ca. 50%. Das eine Grad abweichung im Hue mag Rundungs-Bedingt sein. Hab 
ich nicht nachgerechnet.

Beitrag #6503552 wurde vom Autor gelöscht.
von Εrnst B. (ernst)


Lesenswert?

Michael L. schrieb im Beitrag #6503552:
> Gibt es da einen Trick wie ich automatisch von 255 auf 100 komme

Warum willst du das? 255 verschiedene Stufen sind doch besser als nur 
100.
Und wenn du schon mit "Komma-Zahlen" arbeiten willst, nimm doch gleich 
den Werte-Bereich von [0.0 … 1.0[ ...

von QTuser (Gast)


Lesenswert?

Gibt es da einen Trick die 255 auf 100 zu Mappen automatisch?  Oder ein 
Fach immer durch 2.55 teilen??

von Martin L. (tempusertempuser)


Lesenswert?

Ich möchte mein hue system steuern und das hat nur einen saturation Raum 
bis 100

: Bearbeitet durch User
von Εrnst B. (ernst)


Lesenswert?

Michael L. schrieb:
> Ich möchte mein hue system steuern und das hat nur einen saturation Raum
> bis 100

Dann musst du umrechnen. Durch 2.55 Teilen geht am PC schon, auf einem 
kleinen µC würde man sich vmtl. die Floats sparen und zuerst *100 und 
danach /256 rechnen, letzteres als shift bzw. auslesen des High-Bytes.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.