[mapserver-users] RE: strange png alpha behavior

Charlton Galvarino charlton at 2creek.com
Mon Oct 20 12:54:05 EDT 2008


Figured it out.  Type=UInt16 was the culprit on the source .png's.

> -----Original Message-----
> From: mapserver-users-bounces at lists.osgeo.org [mailto:mapserver-users-
> bounces at lists.osgeo.org] On Behalf Of Charlton Galvarino
> Sent: Sunday, October 19, 2008 2:15 PM
> To: Mapserver Users (mapserver-users at lists.osgeo.org)
> Subject: [mapserver-users] strange png alpha behavior
>
> Hi, all.  I'm stumped, and I've tried everything I can think of.
> Rebuilding gdal, rebuilding libpng, rebuilding mapserver.  Even the
> version of mapserver doesn't really matter to me, but I have tried the
> latest and greatest.
>
> MapServer version 5.2.0 OUTPUT=GIF OUTPUT=PNG OUTPUT=JPEG OUTPUT=WBMP
> OUTPUT=SVG SUPPORTS=PROJ SUPPORTS=FREETYPE SUPPORTS=ICONV
> SUPPORTS=WMS_SERVER SUPPORTS=WMS_CLIENT SUPPORTS=WFS_SERVER
> SUPPORTS=WFS_CLIENT SUPPORTS=GEOS INPUT=EPPL7 INPUT=POSTGIS INPUT=OGR
> INPUT=GDAL INPUT=SHAPEFILE
>
> If I pass b.png thru a normal WMS request, it looks beautimous.  If I pass
> a, it is incorrect.  a.png and b.png were made on different boxes against
> the same source data, and in spite of my best efforts to make those boxes'
> builds identical wrt gdal, ogr, etc. something is still different.
>
> for b . . .
>
> Driver: PNG/Portable Network Graphics
> Files: /home/charlton/Temp/b.png
> Size is 640, 720
> Coordinate System is `'
> Origin = (-100.003428819444423,49.999956597222223)
> Pixel Size = (0.062413194444444,-0.062413194444444)
> Image Structure Metadata:
>   INTERLEAVE=PIXEL
> Corner Coordinates:
> Upper Left  (-100.0034288,  49.9999566)
> Lower Left  (-100.0034288,   5.0624566)
> Upper Right ( -60.0589844,  49.9999566)
> Lower Right ( -60.0589844,   5.0624566)
> Center      ( -80.0312066,  27.5312066)
> Band 1 Block=640x1 Type=Byte, ColorInterp=Red
>   Mask Flags: PER_DATASET ALPHA
> Band 2 Block=640x1 Type=Byte, ColorInterp=Green
>   Mask Flags: PER_DATASET ALPHA
> Band 3 Block=640x1 Type=Byte, ColorInterp=Blue
>   Mask Flags: PER_DATASET ALPHA
> Band 4 Block=640x1 Type=Byte, ColorInterp=Alpha
>
> for a . . .
>
> Driver: PNG/Portable Network Graphics
> Files: /home/charlton/Temp/a.png
> Size is 640, 720
> Coordinate System is `'
> Origin = (-100.003428819444423,49.999956597222223)
> Pixel Size = (0.062413194444444,-0.062413194444444)
> Image Structure Metadata:
>   INTERLEAVE=PIXEL
> Corner Coordinates:
> Upper Left  (-100.0034288,  49.9999566)
> Lower Left  (-100.0034288,   5.0624566)
> Upper Right ( -60.0589844,  49.9999566)
> Lower Right ( -60.0589844,   5.0624566)
> Center      ( -80.0312066,  27.5312066)
> Band 1 Block=640x1 Type=UInt16, ColorInterp=Red Band 2 Block=640x1
> Type=UInt16, ColorInterp=Green Band 3 Block=640x1 Type=UInt16,
> ColorInterp=Blue Band 4 Block=640x1 Type=UInt16, ColorInterp=Alpha
>
> I don't know enough about PNG to know what PER_DATASET ALPHA is.  But is
> this what might be upsetting the final product?
>
> Plugging a or b into udig directly looks fine, and the a,b images look
> great.  But you can see that after I pass it thru a WMS request, I get
> bad_output.png.
>
> Any ideas?
>
> TIA,
>
> Charlton
>
>
>
>
>
> Charlton Galvarino
> 1 (803) 233-6205 : voice
> 1 (803) 223-9579 :   fax
> charlton at 2creek.com
>
> P.O. Box 50960
> Columbia, SC 29250


More information about the mapserver-users mailing list