[Mono-bugs] [Bug 80323][Nor] Changed - Incorrect ColorMatrix alpha processing

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Wed Dec 20 14:17:26 EST 2006

Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.

Changed by sebastien at ximian.com.


--- shadow/80323	2006-12-20 12:51:02.000000000 -0500
+++ shadow/80323.tmp.14166	2006-12-20 14:17:26.000000000 -0500
@@ -93,6 +93,26 @@
 (the first action is drawing the leftmost image on the bitmap, with 
 no transparencies), so there cannot be an accumulative variation 
 problem in the calculations. The animation shows that the error in 
 the result is more severe when the ColorMatrix value for the alpha 
 multiplier (matrix position 3,3) is closer to 0.5, but seems to work 
 fine at 0.0 or 1.0.
+------- Additional Comments From sebastien at ximian.com  2006-12-20 14:17 -------
+Of course both cases are mono bugs (or I would have closed the bug
+with an explanation) and I understand why there's no alpha on the
+bitmap itself.
+My (work in progress) comment's main point was that the current
+(libgdiplus) code would work on the 100,255,0,0 color value (i.e.
+return 50,255,0,0) so the matrix code "looks" correct. 
+"The ColorMatrix operation should take that alpha=100, convert it to 
+50, ..."
+However this case never happens because the drawing source is the
+bitmap (which contains 255,255,155,155) [1] and this cause [2] a
+"fainter" color value to be drawn (255,255,255,255 instead of
+[1] this is ok and happens on both MS and Mono
+[2] this isn't correct and it's a bug

More information about the mono-bugs mailing list