[MAPSERVER-USERS] help! agg palette quantize algorithmimperfection

thomas bonfort thomas.bonfort at gmail.com
Tue Jun 10 03:10:48 EDT 2008


you still need --with-experimental-png

thomas

On Tue, Jun 10, 2008 at 9:01 AM, Pål Kristensen
<pal.kristensen at statkart.no> wrote:
>
> Hi!
>
> Is the quantize mechanism for AGG now included as default, or do we still
> need to build with the --with-experimental_png set?
>
> Regards,
> Pål Kristensen
>
>
> Steve Lime wrote:
>>
>> I've generated palettes by rendering a large 24-bit sample image and then
>> reducing colors using
>> tools like Photoshop, GIMP or ImageMagick. Then I just run gdalinfo output
>> on the reduced color
>> image through a perl script to extract the palette.
>>
>> #!/usr/bin/perl
>>
>> $doit = 0;
>> while(<>) {
>>   if($_ =~ /Color Table/) {
>>     $doit = 1;
>>     next;
>>   }
>>
>>   if($doit) {
>>     ($r,$g,$b,$a) = split /,/, substr($_,7);
>>     print "$r,$g,$b\n";
>>   }
>> }
>>
>> Works just fine...
>>
>> Steve
>>
>>>>> On 6/6/2008 at 3:24 PM, in message <17700473.post at talk.nabble.com>,
>>>>> BrainDrain
>> <paulborodaev at gmail.com> wrote:
>>
>>> $? You're kidding)) Anyway, thanks for advise. Will try.
>>> And what about agg rgba mode (bug, invalid color interpretation
>>> (inverting?)
>>> or something like that)? When
>>> this problem will be fixed? I need it, because I want to use map
>>> transparency (only rgba mode) to combine with google map layer in
>>> openlayers
>>> rich client app.
>>>
>>> Stephen Woodbridge wrote:
>>>>
>>>> Hey, that's what they pay you the BIG BUCKS for! :)
>>>>
>>>> Write a perl/bash/{your favorite} script to grab all the COLOR lines
>>>> from you mapfile and reformat the r g b to r,g,b in you palette file.
>>>>
>>>> I have a few hundred symbols in my symbol library, but I only use about
>>>> 10 of them regularly so I made sure the primary colors were also in the
>>>> palette file. I make the script add them so I don't have to think about
>>>> it.
>>>>
>>>> It sounds like a big deal, but it not that bad.
>>>>
>>>> YMMV,
>>>>    -Steve W
>>>>
>>>> BrainDrain wrote:
>>>>> Thanks, i already read about preparing palette index file & I see 2
>>>>> obstacles:
>>>>> 1) I need to monitor my map file (big size) to keep relevant my palette
>>>>> file. It is inflexible to extract rgb colors used in pixmap symbols
>>>>> (hundreds, updatable). Can I use html palette for ex. (or any other
>>>>> 'universal' palette) - to make this process not so time-consuming?
>>>>> 2) If I have strict palette, can I be sure that agg renderer will
>>>>> always
>>>>> use
>>>>> the nearest(?) color from my palette?
>>>>>
>>>>> pagameba wrote:
>>>>>> Use:
>>>>>>
>>>>>> OUTPUTFORMAT
>>>>>>    OUTPUTFORMAT
>>>>>>    NAME "AGG_Q"
>>>>>>    DRIVER "AGG/PNG"
>>>>>>    MIMETYPE "image/png; mode=8bit"
>>>>>>    IMAGEMODE RGB
>>>>>>    EXTENSION "png"
>>>>>>    FORMATOPTION "PALETTE_FORCE=TRUE"
>>>>>>    FORMATOPTION "PALETTE=/path/to/palette.txt"
>>>>>> END
>>>>>>
>>>>>> where palette.txt is a text file with RGB tuples in the form:
>>>>>>
>>>>>> RRR,GGG,BBB
>>>>>>
>>>>>> For example:
>>>>>>
>>>>>> 0,0,0
>>>>>> 255,255,255
>>>>>> 127,127,127
>>>>>>
>>>>>> MapServer will use AGG 24 bit rendering but reduce the output file to
>>>>>> 8 bit and reserve the colours in your palette.txt file.  This will
>>>>>> give you consistent colours for the ones you care about.
>>>>>> Specifically, you should reserve all the colours that you actually
>>>>>> reference in your map file plus any colours of pixmap symbols.  Don't
>>>>>> put in more colours than you actually need to because MapServer needs
>>>>>> to use whatever space is left (255 less your colours) for
>>>>>> antialiasing.
>>>>>>
>>>>>> Cheers
>>>>>>
>>>>>> Paul
>>>>>>
>>>>>> On 6-Jun-08, at 7:53 AM, BrainDrain wrote:
>>>>>>
>>>>>>> I use this output format in my map file:
>>>>>>> OUTPUTFORMAT
>>>>>>> NAME "AGG_Q"
>>>>>>> DRIVER "AGG/PNG"
>>>>>>> MIMETYPE "image/png; mode=8bit"
>>>>>>> IMAGEMODE RGB
>>>>>>> EXTENSION "png"
>>>>>>> FORMATOPTION "QUANTIZE_FORCE=ON"
>>>>>>> FORMATOPTION "QUANTIZE_DITHER=OFF"
>>>>>>> FORMATOPTION "QUANTIZE_COLORS=256"
>>>>>>> END
>>>>>>> but every time map draw called (or map image requested fom cgi
>>>>>>> mapserv.exe)
>>>>>>> polygons has a little difference in fill color (I think this is
>>>>>>> because
>>>>>>> color palette recalculated slightly different each time). This is
>>>>>>> unacceptable for me. How can i correct this? (maybe some
>>>>>>> FORMATOPTION?)
>>>>>>> --
>>>>>>> View this message in context:
>>>>>>>
>>> http://www.nabble.com/help%21-agg-palette-quantize-algorithm-imperfection-tp1766773
>>> 3p17667733.html
>>>>>>> Sent from the Mapserver - User mailing list archive at Nabble.com.
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> mapserver-users mailing list
>>>>>>> mapserver-users at lists.osgeo.org
>>>>>>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>>>>>>
>>>>>> __________________________________________
>>>>>>
>>>>>>     Paul Spencer
>>>>>>     Chief Technology Officer
>>>>>>     DM Solutions Group Inc
>>>>>>     http://www.dmsolutions.ca/
>>>>>> _______________________________________________
>>>>>> mapserver-users mailing list
>>>>>> mapserver-users at lists.osgeo.org
>>>>>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>>>>>>
>>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> mapserver-users mailing list
>>>> mapserver-users at lists.osgeo.org
>>>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>>>>
>>>>
>> _______________________________________________
>> mapserver-users mailing list
>> mapserver-users at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>>
>>
>
> --
> View this message in context: http://www.nabble.com/help%21-agg-palette-quantize-algorithm-imperfection-tp17667733p17748999.html
> Sent from the Mapserver - User mailing list archive at Nabble.com.
>
> _______________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users
>


More information about the mapserver-users mailing list