L_LensFlareBitmap

# include“l_bitmap.h”

L_LTIMGSFX_APIL_INTL_LensFlareBitmap(pBitmap, ptCenter, uBright, uFlags, crColor)

模拟当明亮的光线面对相机镜头时引起的二次反射。透镜光晕被折射成一系列围绕光晕的亮圆。

参数

pBITMAPHANDLEpBitmap

指向引用要在其上应用效果的位图句柄的指针。

ptCenter

点结构,包含以效果为中心的点。

L_UINTuBright

耀斑的亮度。这个值在内部除以100。这个参数影响耀斑的亮度,以及耀斑周围的任何亮圆。

L_UINTuFlags

指示镜头类型的标志。取值包括:

价值 意义
LNS_TYPE_1 [0x0000]标准镜头。
LNS_TYPE_2 [0x0001]中等广角镜头。
LNS_TYPE_3 [0x0002]中等长焦镜头。

也就是说crColor

表示主耀斑颜色的COLORREF值。

返回

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

评论

此函数不支持签名数据图像。如果将签名数据图像传递给此函数,则返回错误代码ERROR_SIGNED_DATA_NOT_SUPPORTED。

当明亮的光线正对相机镜头时,就会产生二次反射。这些反射可以表现为斑点或带状。该函数通过控制斑点或条带的数量、位置、亮度和大小来将这种效果添加到位图。每种透镜类型都有自己的光斑分布和光线厚度。

该函数支持12位和16位灰度图像以及48位和64位彩色图像。支持12位和16位灰度以及48位和64位彩色图像文件和医疗成像工具包。

要在执行此函数期间更新状态栏或检测用户中断,请参考L_SetStatusCallback

例如,点击这里

为了获得这种效果,函数使用了以下设置:

ptCenter = (150, 162);
uBright = 100;
uFlags = LNS_TYPE_1;
crColor = RGB(255,128,0);

该函数不支持32位灰度图像。如果将32位灰度图像传递给此函数,则返回错误代码ERROR_GRAY32_UNSUPPORTED。

所需的dll和库

平台

x64 Win32。

另请参阅

功能

主题

例子

L_INT LensFlareBitmapExample (L_VOID)L_INT nRet;BITMAPHANDLE LeadBitmap;/*位图句柄图像*/点ptCenter;/*效果中心点*//*按每像素的比特数加载位图*/nRet = L_LoadBitmap(MAKE_IMAGE_PATH(TEXT))“sample5.cmp”&LeadBitmap)),运算符(bitmaphandle), 0, order_bgr, null, null);如果(nRet ! =成功)返回nRet;/*设置中心点第一个正方形的中间*/ptCenter。x = LeadBitmap.Width/4;ptCenter。y = LeadBitmap.Height/4;/*将镜头光晕效果应用到位图上*/nRet = L_LensFlareBitmap(&LeadBitmap, ptCenter, 100, LNS_TYPE_1, RGB(100, 150, 10));如果(nRet ! =成功)返回nRet;nRet = L_SaveBitmap(MAKE_IMAGE_PATH(TEXT))“Result.BMP”), &LeadBitmap, FILE_BMP, 24, 0, NULL);如果(nRet ! =成功)返回nRet;/ /免费的位图如果(LeadBitmap.Flags.Allocated)L_FreeBitmap (&LeadBitmap);返回成功;
LEADTOOLS光栅成像C API帮助
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领先技术公司版权所有