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