L_DisplaceMapBitmap

# include“l_bitmap.h”

L_LTIMGEFX_APIL_INTL_DisplaceMapBitmap(pBitmap, pDisplacementMap, uHorzFact, uVertFact, crFill, uFlags)

根据位移图图像的值水平和垂直地位移位图像素。

参数

pBITMAPHANDLEpBitmap

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

pBITMAPHANDLEpDisplacementMap

指向引用位移图位图的位图句柄的指针。

L_UINTuHorzFact

水平位移因子,以位图尺寸的百分比表示。有效范围为0 ~ 100。

L_UINTuVertFact

垂直位移因子,以位图尺寸的百分比表示。有效范围为0 ~ 100。

也就是说crFill

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

L_UINTuFlags

指示如何处理暴露区域的标志,以及使用位移地图图像的方法。您可以使用按位或(|)从每个组指定一个标志。

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

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

下面是指示如何使用位移地图图像的标志:

价值 意义
DSPL_STRETCH [0x0010]在整个图像区域上拉伸位移贴图图像
DSPL_TILE [0x0000]重复位移贴图图像以覆盖图像区域。

返回

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

评论

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

这个效果根据位移贴图的值来移动图像像素。位移图中的红色值水平移动原始像素。位移图中的绿色值垂直移动原始值。蓝色值被忽略。位移贴图值为128意味着不移动任何东西。位移贴图值为0意味着将像素按垂直或水平的完整百分比向左或向下移动。位移映射值为255意味着将像素按垂直或水平的完整百分比向右或向上移动。

位移图修改对象的几何形状。因此,像素移位和形式可能会被添加到图像中,图像可能会扭曲或扭曲。

例如,点击这里

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

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

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

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

必需的dll和库

平台

Win32, x64, Linux。

另请参阅

功能

主题

例子

L_INT DisplaceMapBitmapExample (L_VOID)L_INT nRet;BITMAPHANDLE LeadBitmap;/*位图句柄图片*/BITMAPHANDLE DisplacementMap;/*位图句柄位移图*//*按每像素的比特数加载位图*/nRet = L_LoadBitmap (MAKE_IMAGE_PATH(TEXT(“mageProcessingDemo \ \ Image2.jpg”&LeadBitmap)),运算符(bitmaphandle), 0, order_bgr, null, null);如果(nRet ! =成功)返回nRet;/*加载一个位移贴图,每像素位*/nRet = L_LoadBitmap (MAKE_IMAGE_PATH(TEXT(“mageProcessingDemo \ \ Image1.jpg”&DisplacementMap)),运算符(bitmaphandle), 0, order_bgr, null, null);如果(nRet ! =成功)返回nRet;/*根据位移图移动图像*/nRet = L_DisplaceMapBitmap(&LeadBitmap, &DisplacementMap, 5,5, RGB(0,0,0), FILL_CLR|DSPL_TILE);如果(nRet ! =成功)返回nRet;如果(DisplacementMap.Flags.Allocated)L_FreeBitmap (&DisplacementMap);L_SaveBitmap(MAKE_IMAGE_PATH(TEXT)“Result.BMP”)), &LeadBitmap, FILE_BMP, 24, 0, NULL);如果(nRet ! =成功)返回nRet;/ /免费的位图如果(LeadBitmap.Flags.Allocated)L_FreeBitmap (&LeadBitmap);返回成功;
栅格成像C API帮助
188金宝搏的网址客服|支持|联系我们|知识产权公告
©1991 - 2021领德科技有限公司版权所有。