[mapserver-users] differing image size with different mapserver versions

Richard Greenwood richard.greenwood at gmail.com
Sat May 15 11:00:06 PDT 2021


I built from main and tested with ANTIALIAS ON and ANTIALIAS OFF. Assuming
that my mapfile syntax below is correct, there is no difference in size and
the resulting PNG is still approximately 3x larger than the MapServer 6.4
one.
  CLASS
    STYLE
      COLOR 255 255 208
      ANTIALIAS ON
    END
  END
Again, thank you for your suggestions.
Rich

On Sat, May 15, 2021 at 11:21 AM Even Rouault <even.rouault at spatialys.com>
wrote:

> Actually, I just tried to open mapserv64.png with gimp, and export it as
> a non-interlaced or interlaced PNG. And the non-interlaced version is 60 kB
> vs 96 kB for interlaced. So interlacing vs non-interlacing isn't the cause
> here.
>
> Looking more closely at mapserv64.png  vs mapserv76.png , they are
> visually different. I suspect the rendering to be of higher quality in 7.6
> due to anti-aliasing and perhaps better quantization to 8-bit. You could
> perhaps try to turn off antialiasing in your CLASS.STYLE. This has been
> re-vived very recently for AGG line rendering. It is master only however.
> Le 15/05/2021 à 19:07, Richard Greenwood a écrit :
>
> Even,
>
> Thank you. I had ignored the difference in the interlacing of the two
> images because I didn't think it would have affected the size.
>
> The maprgbapng.c file no longer exists in MapServer 6.4 or 7.6. There is
> an "if ( interlaced ..." code block in mapoutput.c that is the same in 6.4
> and 7.6. I tried forcing it ON and rebuilding 7.6 but the output image
> still is not interlaced. Maybe that code is just a left over. Or maybe AGG
> doesn't support interlacing as
> https://www.mapserver.org/mapfile/outputformat.html seems to suggest.
>
> In any case, thanks again.
> Rich
>
>
>
> On Sat, May 15, 2021 at 9:59 AM Even Rouault <even.rouault at spatialys.com>
> wrote:
>
>> Richard,
>>
>> your 6.4 image is a interlaced PNG, whereas the 7.6 is a non-interlaced
>> one.
>>
>> I see in the git history a relevant commit:
>>
>> $ git show 9984b39cc8f74d60eb240728df660a172a118aad
>> commit 9984b39cc8f74d60eb240728df660a172a118aad
>> Author: Thomas Bonfort <thomas.bonfort at gmail.com>
>> <thomas.bonfort at gmail.com>
>> Date:   Sun Oct 5 15:59:44 2008 +0000
>>
>>     rgba_png: don't interlace by default
>>
>>
>>     git-svn-id: http://svn.osgeo.org/mapserver/trunk@7960
>> 7532c77e-422f-0410-93f4-f0b67bdd69e2
>>
>> diff --git a/maprgbapng.c b/maprgbapng.c
>> index 105d8d61..c3615edd 100644
>> --- a/maprgbapng.c
>> +++ b/maprgbapng.c
>> @@ -357,10 +357,13 @@ int msSaveImageRGBAQuantized(gdImagePtr img,
>> gdIOCtx *ctx, outputFormatObj *form
>>      int bot_idx, top_idx;
>>      int remap[256];
>>      int reqcolors = atoi(msGetOutputFormatOption( format,
>> "QUANTIZE_COLORS", "256"));
>> +    const char *interlace;
>>      ms_png_info info;
>>      info.width = gdImageSX(img);
>>      info.height = gdImageSY(img);
>> -    if( strcasecmp("ON", msGetOutputFormatOption( format, "INTERLACE",
>> "ON" )) == 0 )
>> +    interlace = msGetOutputFormatOption( format, "INTERLACE", "OFF" );
>> +    if( strcasecmp("ON", interlace) == 0 || strcasecmp("YES", interlace)
>> == 0
>> +            || strcasecmp("1", interlace) == 0)
>>          info.interlaced=1;
>>      else
>>          info.interlaced=0;
>>
>> But this predates 6.4 release by several years, so this doesn't explain
>> why you see a different behavior, unless something in 6.4 still turned on
>> interlacing on in that configuration.
>>
>> From what I can see in the doc, the interlacing mode was removed in the
>> 7.0 release when GD went off, so I don't think you can do much. I guess
>> that could be re-added but would require some coding.
>>
>> Even
>>
>>
>> Le 15/05/2021 à 17:43, Richard Greenwood a écrit :
>>
>> I get significantly different image sizes between MapServer 6.4 and 7.6
>> with the same output format definition. I've tried many variations of the
>> following.
>>
>> OUTPUTFORMAT
>>   NAME "png-test"
>>   DRIVER "AGG/PNG"  # GD driver is same (6.4 only)
>>   MIMETYPE "image/png; mode=8bit"
>>   IMAGEMODE PC256
>>   FORMATOPTION "QUANTIZE_FORCE=on"
>>   FORMATOPTION "QUANTIZE_COLORS=256"
>>   EXTENSION "png"
>>   # TRANSPARENT on or off makes little difference
>> END
>>
>> MapServer 6.4 <https://greenwoodmap.com/mapserv64.png> is 90kB, MapServer
>> 7.6 <https://greenwoodmap.com/mapserv76.png> is 320kB. Any
>> suggestions as to how I can get my MapServer 7.6 image sizes down closer to
>> what I'm getting in MapServer 6.4?
>>
>> Thanks,
>> Rich
>>
>> --
>> Richard W. Greenwood, PLS
>> www.greenwoodmap.com
>>
>> _______________________________________________
>> mapserver-users mailing listmapserver-users at lists.osgeo.orghttps://lists.osgeo.org/mailman/listinfo/mapserver-users
>>
>> -- http://www.spatialys.com
>> My software is free, but my time generally not.
>>
>>
>
> --
> Richard W. Greenwood, PLS
> www.greenwoodmap.com
>
> -- http://www.spatialys.com
> My software is free, but my time generally not.
>
>

-- 
Richard W. Greenwood, PLS
www.greenwoodmap.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/mapserver-users/attachments/20210515/38799deb/attachment.html>


More information about the mapserver-users mailing list