[Mono-list] GDI+ and Mono 2.0.1
Sebastien Pouliot
sebastien.pouliot at gmail.com
Wed Feb 4 14:02:55 EST 2009
On Wed, 2009-02-04 at 19:27 +0100, Bálint Kardos wrote:
> Hi Sebastien,
>
>
> thanks for your reply!
> I only want to deploy it on the Linux server, so I'm working on this
> part first.
>
>
> I found the solution, it had no rights to write to a given folder.
Yep, a bit lame but this is how GDI+/SD reports such permission issues.
> It now executes, but the output file is just 192 bytes long, and only
> has the header of the PNG stream.
My previous suggestion still applies. Once you have a small EXE it will
be much easier to debug (and/or trace) to see what's going on.
> The whole process is the following:
>
>
> 1) open a 24bit PNG file
> 2) add the text
> 3) save the file to a given directory
> 4) send it to the out stream
>
>
> Image.FromFile would throw an exception if it would not find the
> original file,
> the TextWriter would throw an exception if it would not find the font,
TextWriter / font ? not likely ;-)
> so I can't find any reason why it's not working.
Try to remove step 2 (adding the text) and see if a copy of the original
file is saved (or just an header).
>
> I don't know, possibly I'm missing some required .so files?
> I installed everything from the mono packages, and have libpng
> installed as well.
Possible but unlikely, since you would have hit an exception (or a
crash).
>
>
>
>
> üdvözlettel
> with regards
>
> Kardos Bálint
> _______________________________________
> http://skaelede.hu 10 (0xA) év a magyar weben
>
>
> On Wed, Feb 4, 2009 at 19:12, Sebastien Pouliot
> <sebastien.pouliot at gmail.com> wrote:
> On Wed, 2009-02-04 at 18:55 +0100, Bálint Kardos wrote:
> > Hi,
> >
> >
> > I have written a small HttpHandler which automatically
> generates text
> > on the fly with a custom font, added to the
> > System.Drawing.Font.PrivateFontCollection.
> >
> >
> > with Ms.net 3.5sp1, it works fine.
> >
> >
> > with Mono 2.0.1,
> > on Vista, it dies with:
> >
> >
> > Stacktrace:
> >
> >
> > at (wrapper managed-to-native)
> > System.Drawing.GDIPlus.GdipDeletePrivateFontCollection
> (intptr&)
> > <0x00004>
> > at (wrapper managed-to-native)
> > System.Drawing.GDIPlus.GdipDeletePrivateFontCollection
> (intptr&)
> > <0xffffffff>
> > at System.Drawing.Text.PrivateFontCollection.Dispose
> (bool)
> > [0x00015] in C:\cygwin\tmp\monobuild\build\BUILD\mono-2.0.1
> \mcs\class
> > \System.Drawing\System.Drawing.Text
> \PrivateFontCollection.cs:80
> >
> >
> >
> >
> > on Linux, it dies with:
> >
> >
> > System.Exception: Generic Error [GDI+ status: GenericError]
> > at System.Drawing.GDIPlus.CheckStatus (Status status)
> [0x00000]
> > at System.Drawing.Image.Save (System.String filename,
> System.Drawing.Imaging.ImageCodecInfo encoder,
> System.Drawing.Imaging.EncoderParameters encoderParams)
> [0x00000]
> > at System.Drawing.Image.Save (System.String filename,
> System.Drawing.Imaging.ImageFormat format) [0x00000]
> >
> > none of the which are further traceable.
>
>
> This is likely two different issues. I recall (it was a
> _long_ time
> ago) some win32 specific behavior wrt PrivateFontCollection -
> explaining the first case.
>
> I suspect the later error (on Linux) is due to something else.
>
> > Any clues on how to further debug?
> > thank you,
>
>
> Try to create a test case outside your HTTP handler (i.e. a
> small EXE).
> Then use "mono --debug app.exe" to get a bit more information
> and fill a
> bug report on http://bugzilla.novell.com
>
> Thanks,
> Sebastien
>
>
>
>
More information about the Mono-list
mailing list