AGG是一个开源的二维图形引擎,它提供了一个功能有限的SVG解析、渲染工具svg_viewer。我对svg_viewer做了如下改进:
- 支持解析 <circle>、<ellipse> 元素,以及<rect> 的 rx、ry 属性(圆角矩形)。
- 支持格式为 rgb(ddd, ddd, ddd) 的颜色值
- 支持解析<svg>的width、height属性,解析后的属性值通过path_renderer::width、height、width_unit、height_unit获取
- 支持解析 <circle>、<ellipse> 元素,以及<rect> 的 rx、ry 属性(圆角矩形)。
- 支持格式为 rgb(ddd, ddd, ddd) 的颜色值
- 支持解析<svg>的width、height属性,解析后的属性值通过path_renderer::width、height、width_unit、height_unit获取
- 原来的代码对半透明属性fill-opacity、stroke-opacity的解析存在Bug:这两个属性必须位于fill、stroke的后面,否则无效。修改后的代码解决了该Bug。
改进后,虽然功能仍然有限,例如不支持滤镜,不支持脚本等等,但是做为WMF的替代品还是足够了。
svg_viewer补丁包的下载地址:http://download.csdn.net/detail/zhawk/6926453