Michael Van Canneyt wrote: >> 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.
I'm no color expert (maybe that shows), but I based the calculation on ratio information only. Maroon has a red channel value in 24-bit color set to $80. That's 128/256 giving you a 0.5 ratio. Using that ratio and the max value per 48-bit color channel (65536) I calculated the same 48-bit red channel color. 65536 * 0.5 = 32768 = in hex $8080. 128/255 = 32896/65536 = red channel $80 (in RGB 24-bit) or $8080 (in 48-bit) color. So using the same ratio for both 24-bit and 48-bit color, colMaroon is incorrectly defined in fpImage. Now lets apply the same ratio math to colDkGray. colDkGray : TFPColor = (Red: $4000; Green: $4000; Blue: $4000; Alpha: alphaOpaque); I know the RGB (24-bit color) of DarkGray is $40 for the Red channel. So lets calculate the ratio or the Red channel and upscale it to 48-bit color. $40 hex = 64 decimal. 64/256 = 0.25 ratio 0.25 * 65536 max color per 48-bit channel = 16384 decimal 16384 dec = $4000 hex. So based on the definition of colDkGray, the ratio of the red channel is equivalent to the known 24-bit color ratio. So colDrGray is correctly defined in fpImage, but colMaroon is not. I worked with values I know. I only know the hex values of Maroon and DarkGray in 24-bit color. I tried to use Google to find the exact hex values in 48-bit color, but couldn't find any clear information. Hence the reason I upscaled the 24-bit color channel ratios to 48-bit. So having the same color channel ratios in both 24-bit and 48-bit should equate to the same color. > Even the following would be maroon in the 256-bit color plane. > > colMaroon : TFPColor = (Red: $80FF; Green: $0000; Blue: $0000; Alpha: > alphaOpaque); Yes, but I'm not limiting my calculation based 24-bit color only. I'm working with the ratio of red in 24-bit color and applying that same ration to 48-bit color. That should mean the two colors are the same. Now using such a ratio with the known 24-bit colors does not equate in all cases to the 48-bit color definitions in fpImage. They are close, but not equal. Regards, - Graeme - -- fpGUI Toolkit - a cross-platform GUI toolkit using Free Pascal http://opensoft.homeip.net/fpgui/ _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel