On Wed, 17 Feb 2010, Graeme Geldenhuys wrote:
Luiz Americo Pereira Camara wrote:
The point is that the TFPColor constants are inconsistently defined.
I see your point and agree. Some colors have both high and low byte set,
some other colors do not.
@Mattias
What is the 48bit value for Maroon (#800000)? R = $8000 or R = $8080 and
Within 256-bit precision, you cannot say which one is correct.
You MUST provide a 48 bit definition of Maroon, only then you can decide
which one is correct.
This is what Mattias is trying to say. Normal 256-bit colors correspond
to a single type. 48-bit colors correspond to double type.
You cannot say anything sensible about double values if your initial
definition is based on a single value.
assuming all the other values are $0000
As defined by fpImage unit.
colMaroon : TFPColor = (Red: $8000; Green: $0000; Blue: $0000; Alpha:
alphaOpaque);
This is *incorrect*. It should be:
colMaroon : TFPColor = (Red: $8080; Green: $0000; Blue: $0000; Alpha:
alphaOpaque);
This is not so.
Both definitions are - within the 256-bit color plane - 100% equivalent.
Even the following would be maroon in the 256-bit color plane.
colMaroon : TFPColor = (Red: $80FF; Green: $0000; Blue: $0000; Alpha:
alphaOpaque);
Compare:
1.2 and 1.0 are, when considered with 0 decimal precision, the same value.
Michael.
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel