公共无效呈现(IRenderingEngine引擎,SvgRenderOptions选项)
公共子呈现(_按值传递引擎作为IRenderingEngine,_按值传递选项作为SvgRenderOptions_)
公共:无效呈现(IRenderingEngine ^引擎,SvgRenderOptions ^选项)
引擎
渲染引擎使用目标设备。不能零。
选项
在渲染选项来使用。可以零。
有关更多信息,请参考SVG呈现。
使用栅格化来呈现这个SVG文档LEADTOOLS表面Leadtools.RasterImage对象。
这个方法将抛出一个异常,如果这个文档不是平(的价值IsFlat是假),或者如果它没有有效的物理边界的值((像素)Bounds.IsValid是假)。
如果该值的选项是零,然后将使用以下默认选项:
| 成员 | 价值 |
|---|---|
| SvgRenderOptions.Bounds | 当前的文档(物理界限Bounds.Bounds) |
| SvgRenderOptions.ClipBounds | 空矩形呈现文档 |
| SvgRenderOptions.Transform | |
| SvgRenderOptions.UseBackgroundColor | 真正的 |
| 写成BackgroundColor | 白色的颜色 |
这个例子将一个页面从PDF文件转换为SVG格式和呈现形式。
使用Leadtools;使用Leadtools.Codecs;使用Leadtools.Drawing;使用Leadtools.Forms.DocumentWriters;使用Leadtools.Svg;使用LeadtoolsExamples.Common;公共无效SvgDocumentRenderExample (){/ /创建一个窗体,带有一个图片框表格形式=新形式();图片框图片框=新图片框();图片框。码头= DockStyle.Fill;form.Controls.Add(图片框);SvgDocument文档=零;/ /加载一个页面从SVG文档文件字符串srcFileName = Path.Combine (ImagesPath.Path,“Leadtools.pdf”);使用(var编解码器=新RasterCodecs ()){/ /设置300作为加载文档文件的默认值codecs.Options.RasterizeDocument.Load。分辨率= 300;文档=编解码器。LoadSvg (srcFileName 1零)作为SvgDocument;}/ /确保文档是有效的呈现如果(document.IsFlat !)document.Flat (零);如果(document.Bounds.IsValid !)document.CalculateBounds (假);/ /优化呈现增加的速度document.BeginRenderOptimize ();Console.WriteLine (“IsRenderOptimized”+ document.IsRenderOptimized);/ /这是我们油漆代码图片框。油漆+ =(发送方,e) = >{图形图像= e.Graphics;/ /我们将配合和中心的SVG文档图片框的客户区矩形dstBounds = pictureBox.ClientRectangle;如果(dstBounds。宽度< 1||dstBounds。高度< 1)返回;/ /创建的变换矩阵LeadMatrix变换= LeadMatrix.Identity;LeadRectD srcBounds = document.Bounds.Bounds;/ /计算放大我们可以配合双变焦= 1.0;如果(dstBounds。宽度> dstBounds.Height){变焦= dstBounds。宽/ srcBounds.Width;如果((变焦* srcBounds.Height) > dstBounds.Height)变焦= dstBounds。高度/ srcBounds.Height;}其他的{变焦= dstBounds。高度/ srcBounds.Height;如果((变焦* srcBounds.Width) > dstBounds.Width)变焦= dstBounds。宽/ srcBounds.Width;}/ /我们有缩放因子,设置它的变换变换。规模(放大、放大);/ /中心双xOffset = (dstBounds。(宽度)-放大* srcBounds.Width) / 2.0;双yOffset = (dstBounds。(高度)-放大* srcBounds.Height) / 2.0;变换。翻译(xOffset yOffset);/ /设置渲染选项SvgRenderOptions选项=新SvgRenderOptions ();/ /使用我们的变换选项。变换=变换;/ /剪切(如果有的话)选项。ClipBounds = LeadRectD.Create (e.ClipRectangle。X, e.ClipRectangle。Y, e.ClipRectangle。宽度,e.ClipRectangle.Height);/ /填充背景颜色呈白色选项。使用写成BackgroundColor=真正的;选项。写成BackgroundColor = RasterColor.FromKnownColor (RasterKnownColor.White);选项。边界= srcBounds;/ /创建一个渲染引擎使用(var引擎= RenderingEngineFactory.Create(图形)){/ /渲染文档文档。呈现(引擎,选项);}};的形式。SizeChanged + =(发送方,e) = > pictureBox.Invalidate ();form.ShowDialog ();document.Dispose ();}
进口Leadtools进口Leadtools.Codecs进口Leadtools.Drawing进口Leadtools.Forms.DocumentWriters进口Leadtools.Svg公共共享子SvgDocumentRenderExample ()“创建一个窗体,带有一个图片框昏暗的形式作为新形式()昏暗的图片框作为新图片框()图片框。码头= DockStyle.Fillform.Controls.Add(图片框)昏暗的文档作为SvgDocument =没有什么“加载一个页面从SVG文档文件昏暗的srcFileName作为字符串= Path.Combine (Common.ImagesPath.Path“Leadtools.pdf”)使用编解码器作为新RasterCodecs ()“300设置为默认值加载文档文件codecs.Options.RasterizeDocument.Load。分辨率= 300文档=DirectCast(编解码器。LoadSvg (srcFileName 1没有什么),SvgDocument)结束使用确保文档是有效的呈现如果不document.IsFlat然后document.Flat (没有什么)结束如果如果不document.Bounds.IsValid然后document.CalculateBounds (假)结束如果优化它的呈现增加的速度document.BeginRenderOptimize ()Console.WriteLine (“IsRenderOptimized”+ document.IsRenderOptimized.ToString ())“这是我们的油漆代码AddHandlerpictureBox.Paint,子(发送方作为对象e作为PaintEventArgs)昏暗的图形作为图形= e.Graphics我们将配合和中心的SVG文档图片框的客户区昏暗的dstBounds作为矩形= pictureBox.ClientRectangle如果dstBounds。宽度< 1OrElsedstBounds。高度< 1然后返回结束如果“创建的变换矩阵昏暗的变换作为LeadMatrix = LeadMatrix.Identity昏暗的srcBounds作为LeadRectD = document.Bounds.Bounds”放大,所以我们可以计算昏暗的变焦作为双= 1.0如果dstBounds。宽度> dstBounds.Height然后变焦= dstBounds。宽/ srcBounds.Width如果(放大* srcBounds.Height) > dstBounds.Height然后变焦= dstBounds。高度/ srcBounds.Height结束如果其他的变焦= dstBounds。高度/ srcBounds.Height如果(放大* srcBounds.Width) > dstBounds.Width然后变焦= dstBounds。宽/ srcBounds.Width结束如果结束如果我们放大因子,设置它的变换变换。量表(放大、放大)的中心昏暗的xOffset作为双= (dstBounds。(宽度)-放大* srcBounds.Width) / 2.0昏暗的yOffset作为双= (dstBounds。高度-(变焦* srcBounds.Height)) / 2.0变换。翻译(xOffset yOffset)“现在设置渲染选项昏暗的选项作为新SvgRenderOptions ()“所有的文档选项。边界= srcBounds使用我们的变换选项。变换=变换“剪切(如果有的话)选项。ClipBounds = LeadRectD.Create (e.ClipRectangle。X, e.ClipRectangle。Y, e.ClipRectangle。宽度,e.ClipRectangle.Height)把背景填充白色选项。使用写成BackgroundColor=真正的选项。写成BackgroundColor = RasterColor.FromKnownColor (RasterKnownColor.White)创建渲染引擎使用引擎作为IRenderingEngine = RenderingEngineFactory.Create(图形)文档的呈现文档。呈现(引擎,选项)结束使用结束子AddHandlerform.SizeChanged,子(发送方作为对象e作为EventArgs)pictureBox.Invalidate ()结束子form.ShowDialog ()document.Dispose ()结束子
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗Web查看器net
188宝金博怎么下载
支持的平台上
net, Java, Android和iOS / macOS组件
C / c++类库的API
HTML5 JavaScript库
你的邮件已经发送到支持!有人应该联系!如果你的问题是紧急请回到聊天。
聊天时间:
周一——周五,上午6点等
谢谢你的反馈!
请填写表单重新开始一个新的聊天。
所有代理目前离线。
聊天时间:
周一-周五
早上8:30 - 6点
联系我们请填写这张表格,我们将通过电子邮件联系你。
