Opened 17 years ago

Closed 17 years ago

Last modified 17 years ago

#2191 closed defect (fixed)

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)

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 (1)

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

Download all attachments as: .zip

Change History (9)

comment:1 by sdlime, 17 years ago

Added VECTOR and ELLIPSE markers at rev. 6430.

Steve

comment:2 by sdlime, 17 years ago

Description: modified (diff)

by tbonfort, 17 years ago

Attachment: aggfills.diff added

comment:3 by tbonfort, 17 years ago

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

comment:4 by sdlime, 17 years ago

Patch applied... (rev. 6440)

comment:5 by tbonfort, 17 years ago

Resolution: fixed
Status: newclosed

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

comment:6 by sdlime, 17 years ago

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

comment:7 by tbonfort, 17 years ago

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).

comment:8 by sdlime, 17 years ago

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.