L_PerspectiveBitmap

# include“l_bitmap.h”

L_LTIMGSFX_APIL_INT如此,L_PerspectiveBitmap (pBitmap crBkgColor uFlags)

给位图3 d效果,仿佛它存在于一个平面,扭曲成不同的形状。

参数

pBITMAPHANDLEpBitmap

位图句柄指针引用的位图被改变。

点*如此之

指针数组的点确定图像的新地点的角落。它应该包含4分;点指数0、1、2和3确定工具的新地点,右上角,分别left-bottom和right-bottom图像角落。

也就是说crBkgColor

背景颜色。

L_UINTuFlags

国旗,显示如何创建背景。可能的值是:

价值 意义
PERSPECTIVE_IMAGE [0 x0001]使用相同的图像为背景。
PERSPECTIVE_COLOR [0 x0002]填充背景crBkgColor

返回

价值 意义
成功 函数是成功的。
< 1 一个错误发生。指返回代码

评论

这个函数不支持已签名的数据图像。它返回错误代码ERROR_SIGNED_DATA_NOT_SUPPORTED如果签名数据图像是传递给这个函数。

的新位置图像角落应该保持相对角之间的关系。例如,点指数1应该指向右边的索引0和3点指数。也,点指数2应该是左边的点下面的3点指数和指数0等等。所有新位置应保持内部的图像。

更新状态栏或检测用户中断在执行这个函数,引用L_SetStatusCallback

这个函数支持12和16位灰度和48和64位彩色图像。支持12和16位灰度和48和64位彩色图像是可用的文档和医疗成像工具包。

如果位图有一个区域,这个函数只在该地区工作。如果位图没有一个区域,这个函数作用于整个位图。

这个函数不支持32位灰度图像。它返回错误代码ERROR_GRAY32_UNSUPPORTED如果一个32位的灰度图像是传递给这个函数。

必需的dll和库

平台

x64 Win32。

另请参阅

功能

主题

例子

下面的示例加载位图,并应用三维透视效果

L_INT PerspectiveBitmapExample (L_VOID){L_INT nRet;BITMAPHANDLE LeadBitmap;点pNewLocations [4];/ *加载位图,保持文件的比特每像素* /nRet = L_LoadBitmap (MAKE_IMAGE_PATH(文本(“Sample1.CMP”&LeadBitmap)),运算符(BITMAPHANDLE), 0 ORDER_BGR空,空);如果(nRet ! =成功)返回nRet;pNewLocations [0]。x = LeadBitmap.Width * 3/9;pNewLocations [0] .y = LeadBitmap.Height * 1/12;pNewLocations [1]。x = LeadBitmap.Width * 3/4;pNewLocations [1] .y = LeadBitmap.Height * 2/12;pNewLocations [2]。x = LeadBitmap.Width * 2/10;pNewLocations [2] .y = LeadBitmap.Height * 8/10;pNewLocations [3]。x = LeadBitmap.Width * 10/11;pNewLocations [3] .y = LeadBitmap.Height * 7/10;/ * * /应用过滤器nRet = L_PerspectiveBitmap (&LeadBitmap pNewLocations, RGB (255255255), PERSPECTIVE_IMAGE);如果(nRet ! =成功)返回nRet;nRet = L_SaveBitmap (MAKE_IMAGE_PATH(文本(“Result.BMP”))、&LeadBitmap FILE_BMP, 24岁,0,NULL);如果(nRet ! =成功)返回nRet;/ /免费的位图如果(LeadBitmap.Flags.Allocated)L_FreeBitmap (&LeadBitmap);返回成功;}

LEADTOOLS光栅成像C API的帮助
188金宝搏的网址客服|支持|联系我们|知识产权的通知
©1991 - 2021领先的技术公司。保留所有权利。