[Mono-winforms-list] Patch for bug 426305
Sebastien Pouliot
sebastien.pouliot at gmail.com
Thu Mar 31 14:24:30 EDT 2011
On Thu, 2011-03-31 at 17:00 +0100, Dick Porter wrote:
> Hi all
>
> I've just added a patch to
> https://bugzilla.novell.com/show_bug.cgi?id=426305 and am copying it
> here too for review.
>
> It removes the premultiplication when loading PNGs, as no other image
> format does the same. It then adds premultiplication when calling
> assorted Draw*() functions in image.c, except when the graphics context
> is a memory bitmap (so that if an image is drawn onto another image, it
> doesn't get premultiplied multiple times.)
>From the little I recall of the issue it makes sense (but will affect
performance) to delay the pre-multiplication.
The other way would be to keep a flag about the state of each image (and
handle saving correctly, i.e. de-multiplication).
> I also added a C test case to the bug that demonstrates the various
> parts of the problem.
>
> This patch doesn't break the fix to bug 324503, which introduced the
> problem.
IIRC there were more than one bug open about this defect so you may get
some extra test cases from bugzilla.
> OK to commit?
I'll let the new MWF maintainers answer that :-) since I do not run any
code that use libgdiplus (or System.Drawing) very often so, unlike many,
I won't be affected, either positively or negatively ;-)
Thanks
Sebastien
More information about the Mono-winforms-list
mailing list