L_ChangeHueSatIntBitmap

# include“l_bitmap.h”

L_LTIMGCLR_APIL_INTL_ChangeHueSatIntBitmap (pBitmap、nHue nSaturation、nIntensity pHsiData, uHsiDataCount, uFlags)

改变色相、饱和度和亮度或指定颜色的图像。

参数

pBITMAPHANDLEpBitmap

位图句柄指针引用的位图应用的效果。

L_INTnHue

角量改变色调,数度。有效值范围从-18000年到18000年。这个值是内部除以100。

L_INTnSaturation

数量比例改变饱和度,百分比的趋近。有效值范围从-1000年到1000年。这个值是内部除以10。负值减少颜色的饱和度。积极增加饱和度值。饱和度的增加或减少的百分比目前饱和水平。例如,当前的增长了20%饱和度“L”将提高新的饱和度“L1”值L = 0.20 * L .同样,增加饱和度100%双打饱和度(L1 = L + 1.0 * L),降低饱和度100%将设置新的饱和度为0。这个过程对每个像素进行。饱和度设置为1000(最大值)如果新值超过1000)。

L_INTnIntensity

百分比变化强度,百分比的趋近。有效值范围从-1000(黑色)到1000(白色)。这个值是内部除以10。积极的值增加(或减轻)位图图像的亮度。负值减少(或变黑)位图图像的亮度。

pHSIDATApHsiData

HSIDATA结构的指针数组每个颜色范围发生了变化。

L_UINTuHsiDataCount

数的结构pHsiData数组中。

L_UINT32uFlags

保留以供将来使用。必须是0。

返回

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

评论

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

这个函数结合的基本功能L_ChangeBitmapHue,L_ChangeBitmapSaturation,L_ChangeBitmapIntensity功能。另外,可以指定特殊选项LPHSIDATA结构。

pHsiData- > uStructSize必须设置为sizeof (HSIDATA)在调用这个函数之前。仅供一个结构数组,数组中的第一个结构需要uStructSize成员集。

改变整体色调,饱和度和强度都在同一时间,通过零为pHsiData和0uHsiDataCount在主函数。分别调整参数,或在连续通过做出调整,使用的结构和通过0nHue,nSaturation,nIntensity在主要功能参数。

详细信息使用范围的HSIDATA结构,指HSIDATA。

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

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

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

必需的dll和库

平台

Win32 x64, Linux。

另请参阅

功能

主题

例子

L_INT ChangeHueSatIntBitmapExample (L_VOID){L_INT nRet;BITMAPHANDLE LeadBitmap;图片* / / *位图句柄HSIDATA HSIDATA;* / / *色彩范围的信息结构/ *加载位图每像素24位* /nRet = L_LoadBitmap (MAKE_IMAGE_PATH(文本(“ImageProcessingDemo \ \ Image1.jpg”&LeadBitmap)),运算符ORDER_BGR (BITMAPHANDLE), 24日,空,空);如果(nRet ! =成功)返回nRet;/ *改变位图的色调、饱和度和亮度* /HsiData。uStructSize =运算符(HSIDATA);HsiData。nHue=18000;HsiData。nSaturation = 0;HsiData。nIntensity = 0;HsiData。nOuterLow = 315;HsiData。nOuterHigh = 45;HsiData。nInnerLow = 345;HsiData。nInnerHigh = 15;/ *红色改为绿色* /nRet = L_ChangeHueSatIntBitmap (&HsiData &LeadBitmap, 0, 0, 0, 1, 0);如果(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领先的技术公司。保留所有权利。