L_SampleTargetBitmap

# include“l_bitmap.h”

L_LTIMGCLR_APIL_INTL_SampleTargetBitmap (pBitmap crSample、crTarget uFlags)

纠正颜色值通过将目标颜色的样本颜色。

参数

pBITMAPHANDLEpBitmap

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

也就是说crSample

也就是说,指定样品的颜色。红色值红色通道,为绿色通道绿色价值,蓝色值蓝色通道。

也就是说crTarget

也就是说,指定目标颜色。红色值红色通道,为绿色通道绿色价值,蓝色值蓝色通道。

L_UINTuFlags

国旗表明转移的通道的颜色和如何重新映射其他通道的值。您可以使用一点明智或(|)指定一个国旗从每组。

以下是显示通道的国旗:

价值 意义
SAMP_RED [0 x0001]转变颜色在红色通道。
SAMP_GREEN [0 x0002]转变颜色的绿色通道。
SAMP_BLUE [0 x0003]转变颜色的蓝色通道。
SAMP_RGB [0 x0004]转变的颜色红、绿、蓝通道。

以下是旗帜,表明其他像素值设置通道将受到影响:

价值 意义
SAMP_LOW [0 x0010]重新映射uFlags影子通道设置的值。
SAMP_MID [0 x0020]重新映射uFlags midtone值通道设置。
SAMP_HIGH [0 x0030]重新映射uFlags突出频道设置的值。

返回

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

评论

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

例如,假设您正在与一个彩色图像。在crSample您设置的红色值部分COLORREF结构到125年,绿色部分165,蓝色部分为100。crTarget你设置红色值部分到170年,绿色和蓝色120年到200年。如果你在uFlags SAMP_BLUE,那么每个像素的位图,蓝色值100,蓝色值将被改为200,从而改变位图的颜色。取决于你是否设置SAMP_LOW、SAMP_MID或SAMP_HIGH,影子值在蓝色通道将贴图,或midtone值在蓝色通道将贴图,或突出显示值在蓝色通道将重新映射。

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

对灰度位图的灰度值crSample和crTarget使用,不同的频道标志有同样的效果,因为它的作品在同一通道(灰色通道)。

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

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

必需的dll和库

平台

Win32 x64, Linux。

另请参阅

功能

主题

例子

下面的示例加载位图,并应用示例目标函数:

L_INT SampleTargetBitmapExample (L_VOID){L_INT nRet;BITMAPHANDLE LeadBitmap;/ *加载位图,保持文件的比特每像素* /nRet = L_LoadBitmap (MAKE_IMAGE_PATH(文本(“sample5.cmp”&LeadBitmap)),运算符(BITMAPHANDLE), 0 ORDER_BGR空,空);如果(nRet ! =成功)返回nRet;/ * * /应用过滤器nRet = L_SampleTargetBitmap (&LeadBitmap RGB (50、100、150), RGB (60、90、150), SAMP_RED | SAMP_MID);如果(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领先的技术公司。保留所有权利。