Hi Richard,

In your OUTPUTFORMAT declaration maybe try setting the DRIVER to *AGG/PNG8*
Also  IMAGEMODE PC256 was only for GD support that was removed in 7.0. Try 
IMAGEMODE RGB (or RGBA if you want transparency). 

Seth

--
web:http://geographika.co.uk
twitter: @geographika


On Sat, May 15, 2021, at 8:00 PM, Richard Greenwood wrote:
> 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.roua...@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.roua...@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.bonf...@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 list
>>>>> mapserver-users@lists.osgeo.org
>>>>> https://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
> _______________________________________________
> mapserver-users mailing list
> mapserver-users@lists.osgeo.org <mailto:mapserver-users%40lists.osgeo.org>
> https://lists.osgeo.org/mailman/listinfo/mapserver-users
> 
_______________________________________________
mapserver-users mailing list
mapserver-users@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/mapserver-users

Reply via email to