SVG呈现

渲染Leadtools.Svg.SvgDocument到目标设备:

  1. 获取的实例IRenderingEngine

  2. 使用设置呈现选项SvgRenderOptions

  3. 调用SvgDocument。渲染

一个IRenderingEngine可通过以下方法之一获取:

SvgRenderOptions包含以下属性:

成员 描述
界限

目标矩形,像素坐标。SVG文档将被呈现,以适应这个矩形的中心位置。SvgRenderOptions。变换将应用于这个矩形。

ClipBounds

剪切矩形,像素坐标。引擎会将这个剪切应用到界限排除全部或部分不合适的对象。转换开始了SvgRenderOptions。变换将不会应用于此矩形。

变换

要应用的变换。这是一个LeadMatrix实例,可用于最终文档的缩放、平移和旋转。

写成BackgroundColor

SVG文档没有背景色。使用此属性填充界限(最后的转换应用)与一个颜色。UseBackgroundColor必须真正的

UseBackgroundColor

使用写成BackgroundColor来填充转换后的目标矩形的背景。

重要提示SvgDocument。渲染将引发异常SvgDocument不平坦或不包含有效边界。有关更多信息,请参阅SVG大小、边界和平面

下面的代码演示了如何通过自动检查其平面和边界状态来呈现文档:

无效渲染文档(IRenderingEngine引擎,SvgRenderOptions选项,SvgDocument SvgDocument)//如果文档不是平坦的,将其压平并自动计算其大小如果(svgDocument.IsFlat !)svgDocument。平();//如果文档没有有效的边界,现在自动计算它varsvgBounds = svgDocument.Bounds;如果(svgBounds.IsValid !)svgDocument。CalculateBounds ();//现在,渲染文档svgDocument。渲染(engine, options);

Leadtools.Svg.SvgDocument将创建内部数据结构以加速呈现。此数据可以被缓存和重用SvgDocument。BeginRenderOptimize而且SvgDocument。EndRenderOptimize

如果Leadtools.Svg.SvgDocument将被渲染一次,最好让优化保持原样。但是,如果文档将被多次呈现(例如,正在以imageview控件,那么最好缓存此数据以提高速度。这可以通过使用BeginRenderOptimize在查看器中设置文档之前。

BeginRenderOptimize可能会使用额外的系统资源存储在内部数据中。的EndRenderOptimize可用于在任何时候手动释放此数据。

BeginRenderOptimize而且EndRenderOptimize使用内部计数器跟踪优化的状态。BeginRenderOptimize增加此计数器和EndRenderOptimize使其递减,因此只在需要时执行优化,并且任意数量的BeginRenderOptimize而且EndRenderOptimize可以链接在一起而不影响文档。

无论计数器的值是多少,当文档被释放时,这些内部数据将自动释放。

若要确定文档是否已优化呈现数据,请使用SvgDocument。IsRenderOptimized

相关的话题

使用SVG
SVG大小、边界和平面
LEADTOOLS成像、医疗和文档
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领德科技有限公司版权所有。