[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.
http://bugzilla.ximian.com/show_bug.cgi?id=80323
--- 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