[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-core-devel
Subject: Re: KColor is coming this Monday...
From: Matthew Woehlke <mw_triad () users ! sourceforge ! net>
Date: 2007-05-25 20:53:51
Message-ID: f37icv$1om$1 () sea ! gmane ! org
[Download RAW message or body]
Dominik Haumann wrote:
> On Friday 25 May 2007, Matthew Woehlke wrote:
>> Zack Rusin wrote:
>>> Now all those mentioned H* colorspaces are by definition non-linear
>>> transformations of the RGB colorspace. So they, again by definition,
>>> lose precision on conversions.
>> But in 64-bit floating point math (which KColor uses exclusively), the
>> loss is negligible. In fact the test suite *requires* that KColor(
>> someQColor ).convert( KColor::Hs? ) gives back the original color (at
>> least in 8-bpp) when cast back to a QColor. That is the result must
>> QColor::operator== the input. So I fail to see why this is a concern.
> [snip]
>
> Just in case there is really 'data loss': this should go into the api dox,
> maybe along with an image ;)
I don't think an image is possible, to do so many lossy conversions that
you have lost 41+ bits (what it would take to be able to see something
in an image) is IMO really, *really* extreme :-). I'm fine writing a
note along the lines of "there /is/ math involved in performing a color
space conversion, so if you happen to need 40-plus bit precision, keep
this in mind" if you think it's necessary? My thinking is that once you
start doing /any/ operations other than copy, you're going to get a
comparable level of fuzz.
A note in the QColor cast operator is probably more relevant, also
because I am pretty sure QColor doesn't support HDR (and I'm kind-of
leaving normalization in KColor alone, so you get "implicit" HDR).
(Ack, and I was using "bpp" before which is not right, should be bits
per /channel/, not per pixel.)
--
Matthew
"Still the prettiest." -- Legolas
(as quoted in The Very Secret Diaries by Cassandra Claire)
http://www.ealasaid.com/misc/vsd/
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic