Ticket #2191 (closed defect: fixed)

Opened 6 years ago

Last modified 6 years ago

AGG missing a few symbol options that GD has

Reported by: sdlime Owned by: sdlime
Priority: normal Milestone:
Component: AGG Version:
Severity: normal Keywords:
Cc: tbonfort

Description (last modified by sdlime) (diff)

Currently, AGG rendering does not support all the options that GD does:

Missing are:

  • all markers (ELLIPSE, VECTOR are done)
  • hatch symbols
  • vector fills
  • image fills
  • truetype fills
  • image brushes for lines
  • truetyle lines

These all fall back on GD (works ok for truetype) but replacements are needed.

Steve

Attachments

aggfills.diff Download (13.3 KB) - added by tbonfort 6 years ago.

Change History

Changed 6 years ago by sdlime

Added VECTOR and ELLIPSE markers at rev. 6430.

Steve

Changed 6 years ago by sdlime

  • description modified (diff)

Changed 6 years ago by tbonfort

Changed 6 years ago by tbonfort

include patch which enables VECTOR and HATCH polygon fills (also a few fixes to avoid rounding where unnecessary)

hatch drawing is now much more optimised (these tests are for hatching 800+ polygons)

GD:

time ~/workspace/mapserver/shp2img -m demo-gd.map -o demofill.png
real    0m6.465s
user    0m5.532s
sys     0m0.732s

AGG:

time ~/workspace/mapserver/shp2img -m demo-agg.map -o demofill.png
real    0m0.591s
user    0m0.340s
sys     0m0.036s

Changed 6 years ago by sdlime

Patch applied... (rev. 6440)

Changed 6 years ago by tbonfort

  • status changed from new to closed
  • resolution set to fixed

closing for now as AGG should now support all symbology - please reopen if this is not the case

Changed 6 years ago by sdlime

Beautiful. Do you think we can pull some of the GD <=> AGG alpha translations? If rasters are the only things still written using GD directly then we should only need the translations there.

Steve

Changed 6 years ago by tbonfort

steve, I don't think I personnally want to dive into this right now, as I don't know all the implications this might have. plus I'd prefer spending the time left between now and 5.0 on squashing the probable rendering bugs that may turn out. on the other hand, if someone more knowledgeable of the entire program structure is willing to dive in to this, I don't see any problem to that. All that's needed on the AGG side is to ensure that any agg call is on an image with an alpha channel of 0 to 255. And msImageCopyMergeNoAlpha would also have to be rewritten (easy).

Changed 6 years ago by sdlime

I'll take a look then. It should be easy to identify any symbol rendering fallovers for GD.

Do we have AGG text rendering? (I haven't been watching the new code closely) If so, then we might be able to remove since that should make everything but rasters AGG driven.

Steve

Note: See TracTickets for help on using tickets.