[Mono-bugs] [Bug 80693][Wis] Changed - Add 48bpp (and more) support

bugzilla-daemon at bugzilla.ximian.com bugzilla-daemon at bugzilla.ximian.com
Wed Jan 31 22:46:33 EST 2007

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/80693	2007-01-31 18:35:12.000000000 -0500
+++ shadow/80693.tmp.24842	2007-01-31 22:46:33.000000000 -0500
@@ -1,23 +1,23 @@
 Bug#: 80693
 Product: Mono: Class Libraries
 Version: 1.2
 OS: unknown
 OS Details: 
-Status: NEW   
+Status: ASSIGNED   
 Severity: Unknown
 Priority: Wishlist
 Component: libgdiplus
 AssignedTo: mono-bugs at ximian.com                            
 ReportedBy: mugenjouchan at gmail.com               
 QAContact: mono-bugs at ximian.com
 TargetMilestone: ---
-Summary: Add 16bpp PNG support
+Summary: Add 48bpp (and more) support
 Description of Problem:
 If I load some pngs(seemingly all of those which are created by image
 magick convert), well, It looks horrible.
 sample file output:
@@ -54,6 +54,46 @@
 (*) The PNG codec wasn't updated, however you should have got an
 ------- Additional Comments From mugenjouchan at gmail.com  2007-01-31 18:35 -------
 Well, thanks for the extremely fast answer :)
+------- Additional Comments From sebastien at ximian.com  2007-01-31 22:46 -------
+Simplified sample:
+using System;
+using System.Drawing;
+class Program {
+	static public void Main() {
+		string filename = "80693.png";
+		Bitmap bmp = new Bitmap(filename);
+		Console.WriteLine ("{0} {1}", bmp.RawFormat, bmp.PixelFormat);
+		bmp.Save("80693-out.png");
+	}
+First thing I notice is that the saved image doesn't match
+(8bit/color) the original (16-bit/color).
+poupou at pollux:~/src/bugzilla> file 80693.png
+80693.png: PNG image data, 50 x 60, 16-bit/color RGB, non-interlaced
+poupou at pollux:~/src/bugzilla> file 80693-out.png
+80693-out.png: PNG image data, 50 x 60, 8-bit/color RGB, non-interlaced
+And looks bad. 
+Then I executed the code under MS, to see how it was loaded. It's
+loaded as a Format48bppRgb! 
+The original picture is 16bpp per channel, so 48bpp (and that would
+explain why the small picture has such a large file). Mono doesn't
+support this and, it looks like, MS has some problems too (*).
+Cairo doesn't support more than 32bpp so support for 48bpp (or more)
+won't be implemented soon. However I will (before closing this bug as
+WONTFIX) fix the codec to report an error (which will throw an
+exception in System.Drawing.dll).
+(*) For curiousity I opened the MS-generated file and it's not
+identical to the original (it's much darker).

More information about the mono-bugs mailing list