L_SvgRenderDocument

# include“l_bitmap.h”

L_LTSVG_APIL_INTL_SvgRenderDocument(hdc, flatDocHandle, options)

将指定的SVG文档呈现到指定的设备上下文。

参数

L_HDChdc

要用作显示表面的设备上下文(例如屏幕)的句柄。设备上下文的映射模式必须为MM_TEXT。

常量L_SvgNodeHandleflatDocHandle

要呈现的SVG文档的句柄。

常量L_SvgRenderOptions*选项

在呈现期间使用的选项。可以为NULL。

返回

价值 意义
成功 活动很成功。
< 1 发生错误。指返回代码

评论

对SVG的支持仅在文件和医疗成像工具包。

有关更多信息,请参阅SVG呈现

如果指定的SVG文档不是平面的,或者没有有效的物理(像素)边界,该函数将返回一个错误。

如果选项,则将使用这些默认选项:

成员 价值
界限 文档的当前物理边界。
ClipBounds 渲染整个文档的空矩形。
变换 的身份。
UseBackgroundColor 真正的
写成BackgroundColor 白色的颜色

必需的dll和库

平台

x64 Win32。

另请参阅

功能

主题

例子

本例将呈现SVG文档。

L_INT SvgDocumentRenderExample(L_SvgNodeHandle docHandle, HDC HDC, L_RECTD* dstBounds)L_SvgNodeHandle flatDocHandle = docHandle;//如果文件不是平坦的,将其压平,自动计算大小L_BOOL isFlat = TRUE;L_INT nRet = L_SvgIsFlatDocument(docHandle, &isFlat);如果(isFlat !)L_SvgFlatDocument(docHandle, &flatDocHandle, NULL);L_SvgBounds界限;L_SvgGetBounds (flatDocHandle界限,运算符(L_SvgBounds));如果(bounds.IsValid !)L_SvgCalculateBounds (flatDocHandle假);//优化渲染速度L_BOOL optimized = L_SvgIsRenderOptimizedDocument(flatDocHandle);如果优化(!)L_SvgBeginRenderOptimizeDocument (flatDocHandle);//这是我们的油漆代码//我们将把这个SVG文档放在图片框的客户端区域如果(dstBounds->width < 1 || dstBounds->height < 1)返回失败;//创建变换矩阵L_MATRIX变换;L_Matrix_Identity(变换);L_SvgGetBounds (flatDocHandle界限,运算符(L_SvgBounds));L_RECTD srbbounds = bounds.Bounds;//计算缩放,使我们能够适应L_DOUBLE缩放= 1.0;如果(dstBounds->width > dstBounds->height)缩放= dstBounds->width / srcBounds.width;如果((缩放* srcBounds.height) > dstBounds->height)缩放= dstBounds->height / srcBounds.height;其他的缩放= dstBounds->height / srcBounds.height;如果((缩放* srcBounds.width) > dstBounds->width)缩放= dstBounds->width / srcBounds.width;//我们有缩放因子,在变换中设置它L_Matrix_Scale(&变换,缩放,缩放);/ /中心L_DOUBLE xOffset = (dstBounds->width -(缩放* srcBounds.width)) / 2.0;L_DOUBLE yOffset = (dstBounds->height -(缩放* srcBounds.height)) / 2.0;L_Matrix_Translate(&transform, xOffset, yOffset);//现在设置呈现选项L_SvgRenderOptions renderOptions = {0};renderOptions。StructSize =运算符(L_SvgRenderOptions);//使用变换renderOptions。变换= transform;//没有剪辑L_RectD_FromLTRB (&renderOptions。ClipBounds, 0, 0, dstBounds->width, dstBounds->height);//用白色填充背景renderOptions。UseBackgroundColor = TRUE;renderOptions。BackgroundColor = RGB(255,255,255);renderOptions。界限= srcBounds;//渲染文档nRet = L_SvgRenderDocument(hdc, flatDocHandle, &renderOptions);如果(nRet != SUCCESS)如果(isFlat !)L_SvgFreeNode (flatDocHandle);返回nRet;如果优化(!)nRet = L_SvgEndRenderOptimizeDocument(flatDocHandle);如果(isFlat !)L_SvgFreeNode (flatDocHandle);返回nRet;

LEADTOOLS SVG API帮助
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领德科技有限公司版权所有。