L_FreeHandShearBitmap

# include“l_bitmap.h”

L_LTIMGSFX_APIL_INTL_FreeHandShearBitmap (pBitmap、pAmplitudes uAmplitudesCount、uScale crFill, uFlags)

剪切波的位图使用pAmplitudes

参数

pBITMAPHANDLEpBitmap

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

L_INT* pAmplitudes

数组表示横波值的整数。真正的数组元素的值除以1000,和有效值pAmplitudes数组的每个元素在1000年和1000年之间。这些值通常得到的L_GetCurvePoints函数。他们也可能获得通过剪切波对话框

L_UINTuAmplitudesCount

条目的数量pAmplitudes数组中。

L_UINTuScale

用于增加或减少各种因素pAmplitudes振幅值数组。中的每个值pAmplitudes数组是乘以这个因素。真正的价值因素是uScale值除以100。有效的范围从0到100。

也就是说crFill

指定的填充颜色的COLORREF价值暴露的地区。也就是说您可以指定一个值,如Windows RGB宏观的返回值,或者您可以使用PALETTEINDEX宏指定一个调色板的颜色。

L_UINTuFlags

国旗表明如何处理暴露区域,和横波的方向。您可以使用一点明智或(|)指定一个国旗从每组。

以下是标志指示如何处理公开的领域:

价值 意义
FILL_CLR [0 x0000]填补任何暴露的地区crFill
FILL_RPT [0 x0001]边缘拉伸图像,以填补暴露面积。
FILL_NOCHG [0 x0002]离开暴露面积,而不改变它。

以下是旗帜,表明剪切波的方向:

价值 意义
SHR_HORZ [0 x0000]应用水平剪切波。
SHR_VERT [0 x0010]应用横波垂直。

返回

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

评论

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

这个函数将剪切波的位图使用pAmplitudes数组中。可以应用垂直或水平。pAmplitude数据可以获得的L_GetCurvePoints函数,或剪切波对话框

如果位图有一个地区,将只应用于该地区的影响。

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

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

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

必需的dll和库

平台

x64 Win32。

另请参阅

功能

主题

例子

这个例子将使用三角波剪切位图

L_INT FreeHandShearBitmapExample (L_VOID){L_INT nRet;BITMAPHANDLE LeadBitmap;/ *位图句柄图片* /点apUserPoint [4];L_INT pAmplitudes [13];L_INT nMax,我;/ *加载位图的位/像素* /nRet = L_LoadBitmap (MAKE_IMAGE_PATH(文本(“sample5.cmp”&LeadBitmap)),运算符(BITMAPHANDLE), 0 ORDER_BGR空,空);如果(nRet ! =成功)返回nRet;/ *填补apUserPoint数组与点定义一个三角波* /apUserPoint [0]。x = 0;apUserPoint [0]。y = 0;apUserPoint [1]。x = 3;apUserPoint [1]。y = 10;apUserPoint [2]。x = 9;apUserPoint [2]。y = -10;apUserPoint [3]。x = 12;apUserPoint [3]。y = 0;/ *根据apUserPoint画一个三角波点和存储振幅值的pAmplitudes数组* /nRet = L_GetCurvePoints (pAmplitudes apUserPoint 4, NULL, GUB_LINEAR);如果(nRet ! =成功)返回nRet;/ * pAmplitudes正常化(最大价值pAmplitudes * / 1000和-1000)nMax = 0;(i = 0;我< 13;我+ +){如果(nMax < pAmplitudes[我])nMax = pAmplitudes[我];}如果(nMax){(i = 0;我< 13;我+ +){pAmplitudes[我]= (1000 * pAmplitudes[我]/ abs (nMax));}}/ *应用水平剪切波* /nRet = L_FreeHandShearBitmap (&LeadBitmap pAmplitudes 13, 100 0, FILL_RPT | SHR_HORZ);如果(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领先的技术公司。保留所有权利。