Oh, wow, that was so simple. I changed map.selectOutputFormat('png8') to map.selectOutputFormat('png24')
And done. Strangely, though, saving it to a file and re-opening *does* work! Thanks for the quick reply! -- Jelmer -----Original Message----- From: thomas bonfort [mailto:thomas.bonf...@gmail.com] Sent: Friday, September 07, 2012 15:50 To: Jelmer Baas Cc: mapserver-users@lists.osgeo.org Subject: Re: [mapserver-users] [Python+MapScript] Convert imageObj to PIL Image IIRC, PIL does not support 8bit pngs with transparency, so writing it to a file won't help. If you need alpha, you'll have to stick with 32bit pngs. -- thomas On Fri, Sep 7, 2012 at 3:35 PM, Jelmer Baas <b...@speerit.nl> wrote: > Hi All, > > I've been testing today in Python, trying to get a MapScript imageObj into an > python Image object. This works via the following code: > > > map.transparent = MS_ON > map.selectOutputFormat('png8') > map.outputformat.imagemode = MS_IMAGEMODE_RGBA > map.outputformat.transparent = MS_ON > > img = map.draw() > mem_png = StringIO.StringIO(img.saveToString()) > _img = Image.open(mem_png) > > However, the _img file lost its transparency, even though it's still (or > again) PNG. There MUST be a better way of getting the PNG file into PIL, > right? Something besides writing it to a tempfile, opening it, and deleting > it? > > On a side note, I only use this rendered image temporarily, I only need to > cut it up in smaller bits and return those to my client. So if there's some > sort of format that supports transparcency but without the PNG compression > overhead, that would be even better! > > Regards, > Jelmer Baas > > _______________________________________________ > mapserver-users mailing list > mapserver-users@lists.osgeo.org > http://lists.osgeo.org/mailman/listinfo/mapserver-users _______________________________________________ mapserver-users mailing list mapserver-users@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/mapserver-users