L_FreeHandWaveBitmap

# include“l_bitmap.h”

L_LTIMGSFX_APIL_INTL_FreeHandWaveBitmap (pBitmap, pamplitudescount, uScale, uwaven, nAngle, crFill, uFlags)

中指定的波来扭曲位图pAmplitudes和中指定的旋转角度nAngle

参数

pBITMAPHANDLEpBitmap

指向位图句柄的指针,该句柄引用要对其应用效果的位图。

L_INT* pAmplitudes

表示波值的整数数组。数组元素的真实值除以1000,pAmplitudes数组中每个元素的有效值在-1000到1000之间。这些值通常从L_GetCurvePoints函数。也可透过FreeHandWave对话框

L_UINTuAmplitudesCount

的条目个数pAmplitudes数组中。

L_UINTuScale

用于增加或减少pampludes数组中的各种振幅值的因子。中的每个值pAmplitudes数组乘以这个因子。实际因子值是uScale值除以100。

L_UINTuWaveLen

属性中设置了DIS_PER,则表示波长的uFlags参数。可能的值范围为1到100,并给出波长占位图尺寸的百分比。如果在uFlags中设置了DIS_FRQ,则该值为重复波数。

L_INTnAngle

波浪旋转角,以百分之一度(+/-)为单位。有效范围为-36000 ~ 36000。以度为单位的值是nAngle除以100。

也就是说crFill

为任何暴露区域指定填充颜色的COLORREF值。您可以指定一个COLORREF值,例如Windows RGB宏的返回值,或者您可以使用PALETTEINDEX宏来指定调色板颜色。

L_UINTuFlags

标志,指示如何处理暴露区域以及中包含的信息类型uWaveLen.您可以使用按位或(|)从每个组指定一个标志。

以下是指示如何处理暴露区域的标志:

价值 意义
FILL_CLR [0x0000]在任何暴露区域填充crFill
FILL_RPT [0x0001]拉伸图像边缘以填充曝光区域。
FILL_NOCHG [0x0002]保持暴露区域原样,不要改变它。

对象中的信息类型的标志如下uWaveLen参数:

价值 意义
DIS_PER [0x0000] uwaven中的值是以位图维度的百分比表示的波长。如果设置了该值,uwaven的有效范围是1 ~ 100。
DIS_FRQ [0x0010] uwaven中的值是频率,或者波重复的次数。

返回

价值 意义
成功 活动很成功。
< 1 发生错误。指返回代码

评论

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

函数将波应用于pAmplitudes数组中。你可以在任何方向重复和旋转波。pAmplitude数据可以从L_GetCurvePoints函数,还是由FreeHandWave对话框

如果位图有一个区域,该效果将只应用于该区域。

此功能支持12位和16位灰度以及48位和64位彩色图像。中支持12位和16位灰度以及48位和64位彩色图像文件和医疗成像工具包。

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

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

必需的dll和库

平台

x64 Win32。

另请参阅

功能

主题

例子

这个例子将在加载的图像上应用三角波。

L_INT FreeHandWaveBitmapExample (L_VOID)L_INT nRet;BITMAPHANDLE LeadBitmap;/*位图句柄图片*/apUserPoint [4];L_INT pAmplitudes [13];/*按每像素的比特数加载位图*/nRet = L_LoadBitmap(MAKE_IMAGE_PATH(TEXT(“sample5.cmp”&LeadBitmap)),运算符(bitmaphandle), 0, order_bgr, null, null);如果(nRet ! =成功)返回nRet;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;nRet = L_GetCurvePoints(pampludes, apUserPoint, 4, NULL, GUB_LINEAR);如果(nRet ! =成功)返回nRet;nRet = L_FreeHandWaveBitmap (&LeadBitmap, pampludes, 13,100,10,0,0, FILL_RPT | DIS_FRQ);如果(nRet ! =成功)返回nRet;/ /免费的位图如果(LeadBitmap.Flags.Allocated)L_FreeBitmap (&LeadBitmap);返回成功;

栅格成像C API帮助
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领德科技有限公司版权所有。