L_VecRealize

# include“ltvkrn.h”

L_LVKRN_APIL_INTL_VecRealize(pBitmap, pVector, bEraseBkgnd)

将指定的向量绘制到指定的LEAD位图句柄中。

参数

pBITMAPHANDLEpBitmap

指向位图句柄的指针,向量将被绘制到位图句柄中。

常量pVECTORHANDLEpVector

指向一个向量句柄的指针,该句柄引用要绘制到pBitmap中的向量。

L_BOOLbEraseBkgnd

标志,指示在实现位图的矢量时是否擦除背景矩形。可能取值为:

价值 意义
真正的 当矢量图像实现为位图时,背景矩形将被擦除。
背景矩形不会被擦除。

返回

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

评论

这个函数将指定的向量绘制到指定的位图句柄中。

位图句柄应该在调用此函数之前分配。

如果hDC为NULL,此函数将假定pVector已经附加到窗口,并将其绘制到窗口DC。

用于擦除要渲染的矢量图像的矩形的背景色可以设置为L_VecSetBackgroundColor

这个函数将使用当前相机和矢量手柄的当前视图端口在DC表面上进行必要的投影。

必需的dll和库

另请参阅

功能

例子

这个例子将为给定的矢量文件创建一个BITMAPHANDLE。

L_LTVKRNTEX_API pBITMAPHANDLE VecRealizeExampleL_TCHAR * pszFile,L_UINT uWidth,L_UINT uHeight,L_INT * nRet){/* uWidth和uHeight是期望的位图大小,最终的位图大小将小于或等于uWidth和uHeight。* /VECTORHANDLE TmpVector;最小值,最大值;pBITMAPHANDLE pBitmap;L_DOUBLE Width, Height, Factor;矩形矩形;首先加载向量*/*nRet = L_VecLoadFile(pszFile, &TmpVector, NULL, NULL);如果(*nRet != SUCCESS)返回零;/*获取矢量图像逻辑平行四边形*/*nRet = l_vecgetobject平行四边形(&TmpVector, NULL, &Min, &Max, 0L);如果(*nRet != SUCCESS)返回零;/*计算视口保留矢量图像纵横比*/宽度=最大。x -最小x;高度=最大。y - Min.y;如果(uWidth < uHeight){因子= uWidth / Width;/ *检查如果高度合适大小* /如果((因子*高度)> uHeight){/*不可以,根据高度*/计算因子= uHeight / Height;}}其他的{因子= uHeight / Height;/ *检查如果宽度合适大小* /如果((因子*宽度)> uWidth){/*不可以,根据width */计算因子= uWidth / Width;}}/*设置视口矩形*/left = 0;top = 0;right = (L_INT)(因子*宽度);rect.bottom = (L_INT)(因子*高度);/*创建LEAD位图*/pBitmap = (pBITMAPHANDLE) GlobalAllocPtr(GHND,运算符(bitmaphandle));*nRet = L_InitBitmap(pBitmap,运算符(BITMAPHANDLE),矩形.right,矩形.bottom, 24);如果(*nRet != SUCCESS)返回零;*nRet = L_AllocateBitmap(pBitmap, TYPE_CONV);如果(*nRet != SUCCESS)返回零;/*设置视口*/*nRet = L_VecSetViewport(&TmpVector, &rect);如果(*nRet != SUCCESS)返回零;/*设置摄像头为俯视图位置。* /*nRet = L_VecSetCamera(&TmpVector, NULL);如果(*nRet != SUCCESS)返回零;/*渲染到位图*/*nRet = L_VecRealize(pBitmap, &TmpVector, TRUE);如果(*nRet != SUCCESS)返回零;/*释放不再需要的向量*/*nRet = L_VecFree(&TmpVector);如果(*nRet != SUCCESS)返回零;返回pBitmap;}

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