I just did what Andreas spelled out yesterday:
*Simply changing the typedef in line 91 of mapagg.cpp from typedef mapserver::renderer_scanline_aa_solid<renderer_base> renderer_scanline;to typedef mapserver::renderer_scanline_bin_solid<renderer_base> renderer_scanline;* However, I'd like to be able to switch between rasterizer via some option in the .map file, so I'd welcome any suggestion on how to do that. On Thu, Oct 19, 2017 at 10:07 AM, Lime, Steve D (MNIT) < [email protected]> wrote: > Glad this was figured out! What was the code change exactly? > ------------------------------ > *From:* mapserver-users <[email protected]> on > behalf of Erik H <[email protected]> > *Sent:* Wednesday, October 18, 2017 8:07:42 PM > *To:* Eichner, Andreas - SID > *Cc:* [email protected] > *Subject:* Re: [mapserver-users] Draw roads WITHOUT anti-aliasing > > Andreas, > > I made that change in mapagg.cpp and it seems to do exactly what I need. > Wunderbar! > > As for providing an option to switch rasterizer based on an option, how > about reviving the FORMATOPTION 'ANTIALIAS'? > > Thanks, Erik > > On Wed, Oct 18, 2017 at 9:18 AM, Eichner, Andreas - SID < > [email protected]> wrote: > >> Nope, this won't work: >> >> r->default_gamma = atof(msGetOutputFormatOption( format, "GAMMA", >> "0.75" )); >> if(r->default_gamma <= 0.0 || r->default_gamma >= 1.0) { >> r->default_gamma = 0.75; >> } >> >> From mapagg.cpp lines 844-847 forces 0 < GAMMA < 1 >> Also note that MapServer uses a linear gamma function defined as >> >> double operator() (double x) const >> { >> if(x < m_start) return 0.0; >> if(x > m_end) return 1.0; >> return (x - m_start) / (m_end - m_start); >> } >> >> Where m_start is _always_ set to 0 and m_end is set to the GAMMA value >> given by you (or the default 0.75). >> I think someone should check this - to me it seems a power function was >> intented... >> >> HTH >> >> > -----Ursprüngliche Nachricht----- >> > Von: mapserver-users [mailto:[email protected]] >> Im >> > Auftrag von [email protected] >> > Gesendet: Mittwoch, 18. Oktober 2017 14:05 >> > An: [email protected] >> > Betreff: Re: [mapserver-users] Draw roads WITHOUT anti-aliasing >> > >> > Hi, >> > >> > >> > >> > >> > I did some quick tests with : >> > >> > >> > >> > >> > OUTPUTFORMAT >> > NAME "png_G0" >> > DRIVER AGG/PNG >> > MIMETYPE "image/png" >> > IMAGEMODE RGB >> > EXTENSION "png" >> > FORMATOPTION "GAMMA=0.0" >> > END >> > >> > >> > >> > >> > and shp2img with options -i >> > >> > >> > eg: shp2img -m 01_polygon_td_poly.map -o 01_polygon_td_poly.png -i >> > png_G0 >> > >> > >> > >> > >> > >> > I did some tests with both polygons, polygon outlines and lines and they >> > all seems to have anti-aliasing as far as I could see. >> > >> > Would this be an ok way to test it? I also have some people that would >> > like to do lines without anti-aliasing for a strange reason. >> > >> > >> > >> > >> > >> > Lars Schylberg >> > >> > >> > >> > >> > >> > -----Originalmeddelande----- >> > > Från: "Rahkonen Jukka (MML)" <[email protected]> >> > > Till: "Eichner, Andreas - SID" <[email protected]>, >> "Erik >> > H" <[email protected]> >> > > Kopia: [email protected] >> > > Datum: 2017-10-18 11:13 >> > > Ämne: Re: [mapserver-users] Draw roads WITHOUT anti-aliasing >> > > >> > > Hi, >> > > >> > > I suppose that the amount of antialiasing with AGG is set with "gamma" >> > parameter. Mapserver supports that at least for polygons as documented >> > in http://www.mapserver.org/mapfile/outputformat.html but you could try >> > if using gamma=0.0 has an effect on lines as well. It may be that it >> > does not because search >> > > >> > https://github.com/mapserver/mapserver/search?utf8=%E2%9C%93 >> &q=gamma&typ >> > e= >> > > seems to find only something that is tied to polygon outlines >> > > https://github.com/mapserver/mapserver/blob/branch-7- >> > 0/renderers/agg/include/agg_renderer_outline_aa.h >> > > >> > > >> > > If gamma does not work for lines then it could be worth making a >> > feature request for adding a new formatoption "GAMMA_LINE=[]. >> > > >> > > Couple of Mapnik links dealing with the same issue: >> > > http://gis.19327.n8.nabble.com/Turning-off-anti-aliasing- >> > td5339458.html >> > > http://mapnik.org/mapnik-reference/#3.0.6/line-gamma-method >> > > >> > > -Jukka Rahkonen- >> > > >> > > >> > > >> > > -----Alkuperäinen viesti----- >> > > Lähettäjä: mapserver-users [mailto:mapserver-users- >> > [email protected]] Puolesta Eichner, Andreas - SID >> > > Lähetetty: 18. lokakuuta 2017 9:57 >> > > Vastaanottaja: Erik H <[email protected]> >> > > Kopio: [email protected] >> > > Aihe: Re: [mapserver-users] Draw roads WITHOUT anti-aliasing >> > > >> > > Damn... missed attaching the images. >> > > >> > > > -----Ursprüngliche Nachricht----- >> > > > Von: mapserver-users [mailto:mapserver-users- >> > [email protected]] >> > > > Im Auftrag von Eichner, Andreas - SID >> > > > Gesendet: Mittwoch, 18. Oktober 2017 08:28 >> > > > An: Erik H >> > > > Cc: [email protected] >> > > > Betreff: Re: [mapserver-users] Draw roads WITHOUT anti-aliasing >> > > > >> > > > Hi, >> > > > >> > > > I just meant that it seems to be pretty easy to implement aliased >> > > > rendering with AGG. >> > > > Simply changing the typedef in line 91 of mapagg.cpp from >> > > > >> > > > typedef mapserver::renderer_scanline_aa_solid<renderer_base> >> > > > renderer_scanline; >> > > > >> > > > to >> > > > >> > > > typedef mapserver::renderer_scanline_bin_solid<renderer_base> >> > > > renderer_scanline; >> > > > >> > > > turns of anti-aliased rendering. I've attached the output of >> > "shp2img >> > > > -m line_simple.map" from the msautotests. >> > > > An additional member in class AGG2Renderer for the aliased >> > rasterizer >> > > > and conditionally passing one or the other to render_scanlines() >> > > > depending on some value of strokeStyleObj might be enough. >> > > > >> > > > Regards >> > > > >> > > > > -----Ursprüngliche Nachricht----- >> > > > > Von: Erik H [mailto:[email protected]] >> > > > > Gesendet: Dienstag, 17. Oktober 2017 17:34 >> > > > > An: Eichner, Andreas - SID >> > > > > Cc: Richard Greenwood; [email protected] >> > > > > Betreff: Re: [mapserver-users] Draw roads WITHOUT anti-aliasing >> > > > > >> > > > > As for Andreas' remark about 'simply the use of another scanline >> > > > > rasterizer.' - I'm sorry but I'm not much of a C++ developer. If I >> > > > have >> > > > > to do rasterizing, I'd skip MapServer altogether and generate the >> > > > > PNG >> > > > in >> > > > > Java. >> > > > > >> > > > _______________________________________________ >> > > > mapserver-users mailing list >> > > > [email protected] >> > > > https://lists.osgeo.org/mailman/listinfo/mapserver-users >> > > _______________________________________________ >> > > mapserver-users mailing list >> > > [email protected] >> > > https://lists.osgeo.org/mailman/listinfo/mapserver-users >> > >> > >> > >> > >> > >> > >> > >> > -- >> > >> > >> _______________________________________________ >> mapserver-users mailing list >> [email protected] >> https://lists.osgeo.org/mailman/listinfo/mapserver-users >> > >
_______________________________________________ mapserver-users mailing list [email protected] https://lists.osgeo.org/mailman/listinfo/mapserver-users
