[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 12:51:02 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 josecoig at cae.net.


--- shadow/80323	2006-12-20 11:34:18.000000000 -0500
+++ shadow/80323.tmp.12286	2006-12-20 12:51:02.000000000 -0500
@@ -74,6 +74,25 @@
 For the blue background I suspect the calculations (including
 float/int conversions) are introducing small variations that gets
 amplified at each iteration.
+------- Additional Comments From josecoig at cae.net  2006-12-20 12:51 -------
+The resulting bitmap doesn't have an alpha component (it is 255) 
+because the default CompositingMode of a Graphics object is 
+SourceOver, and not SourceCopy. The test case is drawing a solid 
+white background on the bitmap before drawing the semitransparent 
+image, so the resulting image is opaque as well.
+The ColorMatrix operation should take that alpha=100, convert it to 
+50, and perform the blending into the final bitmap, like the MS 
+values show. But something is failing in the Mono process.
+For the blue background, each iteration is rendered from scratch 
+(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.

More information about the mono-bugs mailing list