L_GammaCorrectBitmapExt

# include“l_bitmap.h”

L_LTIMGCLR_APIL_INTL_GammaCorrectBitmapExt (pBitmap uGamma uFlags)

调整位图的颜色强度通过改变γ常数用于地图的强度值。可以指定两种不同的颜色空间。

参数

pBITMAPHANDLEpBitmap

位图句柄指针引用目标位图。

L_UINTuGamma

任何值大于0表示γ的值。这个值是内部除以100。

L_UINTuFlags

国旗,表示使用哪个颜色空间。可能的值是:

价值 意义
RGB_SPACE [0 x0001]调整像素颜色的强度在RGB颜色空间。
YUV_SPACE [0 x0002]调整像素颜色的强度在YUV彩色空间。

返回

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

评论

这个函数就像L_GammaCorrectBitmap函数,但已扩展到允许使用色彩的规范。

强度值最好遵循对数级数,因为眼睛感知强度变化时不变的情况下改变的比例是相等的。例如,我们会看到一个变化从0.1到0.2等于变化从0.2到0.4。

γ是一个标准的常数,用于计算过程。对于大多数crtγ常数是在2.2至2.5的范围。

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

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

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

这个函数调整伽马常数用于图像数据映射颜色强度值。如果图像有附近地区,函数将在附近地区,而不是图像数据。如果图像有一个附近地区和你想要的图像数据,BITMAPHANDLE结构UseLUT标志设置为FALSE。调用函数之后,重置UseLUT国旗为TRUE如下:

pBitmap - >标记。UseLUT = FALSE;L_GammaCorrectBitmap (pBitmap, 90);pBitmap - >标记。UseLUT = TRUE;

必需的dll和库

平台

Win32 x64, Linux。

另请参阅

功能

主题

例子

下面的示例设置伽马值的位图2.5在YUV彩色空间:

L_INT GammaCorrectBitmapExtExample (L_VOID){L_INT nRet;BITMAPHANDLE LeadBitmap;nRet = L_LoadBitmap (MAKE_IMAGE_PATH(文本(“sample5.cmp”&LeadBitmap)),运算符(BITMAPHANDLE), 0 ORDER_BGR空,空);如果(nRet ! =成功)返回nRet;nRet = L_GammaCorrectBitmapExt(250年&LeadBitmap YUV_SPACE);如果(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的帮助