L_PixelateBitmap

# include“l_bitmap.h”

L_LTIMGSFX_APIL_INTL_PixelateBitmap (pBitmap、uCellWidth uCellHeight、uOpacity CenterPt, uFlags);

将位图划分为矩形或圆形细胞,然后再现的图像填充这些细胞与最小值,最大值,或平均像素值,根据所选择的影响。

参数

pBITMAPHANDLEpBitmap

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

L_UINTuCellWidth

单元格代表一个矩形的宽度值,矩形细胞的数量现在整个位图的宽度,细胞的数量在一个圆形细胞的中心点,或程度的每个单元的长度在中心点的圆形细胞,根据旗帜uFlags

如果uFlags包含: 然后,uCellWidth包含: 和uCellWidth可能值的范围为:
PIX_RAD | PIX_WFRQ CenterPt周围细胞的数量。也就是圈CenterPt分为uCellWidth相等的部分,如下所示: 1到360。圆可分为1到360个相等的部分。
图像\ RadCellDiv1.gif
PIX_RAD | PIX_WPER 度的大小,CenterPt周围的细胞。也就是圈CenterPt分为细胞uCellWidth度,如下所示: 1到360。圆可以分为细胞1度到360度。
图像\ RadCellDiv2.gif
PIX_RECT | PIX_WFRQ 细胞的数量呈现跨位图的宽度 1图像宽度,如果没有地区。如果有一个区域,然后值的范围是该地区宽度。
PIX_RECT | PIX_WPER 每个矩形单元的宽度,以像素为单位 1图像宽度,如果没有地区。如果有一个区域,然后值的范围是该地区宽度。

L_UINTuCellHeight

单元格代表一个矩形的高度值,矩形细胞的数量现在整个位图的高度,细胞的数量在一个圆形的半径细胞,或每个细胞的长度沿半径的圆形细胞,根据旗帜uFlags

如果uFlags包含: 然后,uCellHeight包含: 和uCellHeight可能值的范围为:
PIX_RAD | PIX_HFRQ 细胞的数量呈现沿半径的圆形细胞。 1到对角线的形象,如果没有地区。如果有一个区域,然后值的范围是该地区矩形的对角线。
PIX_RAD | PIX_HPER 每个圆形细胞的径向长度,在像素 1到对角线的形象,如果没有地区。如果有一个区域,然后值的范围是该地区矩形的对角线。
PIX_RECT | PIX_HFRQ 细胞的数量现在整个位图的高度 1图像高度,如果没有地区。如果有一个地区,是该地区高度的值的范围。
PIX_RECT | PIX_HPER 每个矩形单元的高度,以像素为单位 1图像高度,如果没有地区。如果有一个地区,是该地区高度的值的范围。

L_UINTuOpacity

值代表着透明细胞,相比原来的像素。这是一个百分比。可能的值是0 100。(0是透明度和100是总不透明度。)

点CenterPt

点代表革命的中心当圆形细胞。这个参数将被忽略在uFlags如果PIX_RECT设置。

L_UINTuFlags

国旗表明使用的值填充细胞,细胞的形状,是什么类型的数据uCellWidthuCellHeight参数。您可以使用一个位或(|)指定一个国旗从每组。

以下是标志表示什么值将用于填充细胞:

价值 意义
PIX_MAX [0 x0000]细胞填充它的最大像素值。
PIX_MIN [0 x0001]细胞填充它的最小像素值。
PIX_AVR [0 x0002]细胞填充其平均像素值。

以下是显示细胞的形状的标志:

价值 意义
PIX_RECT [0 x0010]将图像划分为矩形细胞。如果使用这个标志,uCellWidth值包含细胞宽度像素或细胞的数量在位图的宽度。uCellHeight包含细胞高度像素或细胞的数量的高度位图。
PIX_RAD [0 x0020]将图像分成圆形细胞,围绕CenterPt。如果使用这个标志,uCellWidth值决定了细胞的角组件,和uCellHeight决定细胞的径向分量。请注意,必须或者艾德PIX_RAD PIX_WPER或PIX_WFRQ

以下是旗子表示中包含的信息是什么uCellWidthuCellHeight参数:

价值 意义
PIX_WFRQ [0 x0100]表明细胞的数量以及位图的宽度是否使用矩形细胞。如果使用了圆形细胞,这表明细胞的数量目前在圆的中心。
PIX_WPER [0 x0200]显示宽度,以像素为单位的细胞,如果使用矩形细胞。如果使用圆形细胞,这表明学位的数量每个单元围绕中心的观点。
PIX_HFRQ [0 x0400]表明细胞的数量以及位图的高度如果矩形细胞。如果使用了圆形细胞,这表明细胞的数量呈现沿圆的半径。
PIX_HPER [0 x0800]表示高度,以像素为单位的细胞,如果使用矩形细胞。如果使用了圆形细胞,这表明每一个细胞的径向长度沿半径。

返回

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

评论

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

该函数将图像划分为矩形或圆形细胞。

uFlags参数表示是否使用矩形或圆形细胞,表明在其他参数的类型信息。

如果图像分为圆形细胞中通过设置PIX_RADuFlags参数,指定的细胞将围绕CenterPt。这个中心点必须定义在地区内的位图或,如果位图。如果位图有一个地区,将只应用于该地区的影响。

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

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

圆形细胞分裂的一个例子可以看到下图:

这是原始图像:

图像\ CircularCellOrig.gif

下图是由于以下设置:

这表明圆形细胞分为90度细胞分裂和每个细胞都有一个径向40像素的长度。每个细胞分裂是细胞分裂的平均值。

图像\ CircularCellPer.gif

下图是由于以下设置:

这表明圆形细胞分为90个独立的细胞分裂中心点和沿半径有40个细胞分裂。每个细胞分裂是细胞分裂的平均值。

图像\ CircularCellFrq.gif

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

必需的dll和库

平台

x64 Win32。

另请参阅

功能

主题

例子

这个例子中像素效果适用于位图。

L_INT PixelateBitmapExample (L_VOID){L_INT nRet;BITMAPHANDLE LeadBitmap;图片* / / *位图句柄点CenterPt;/ *加载位图的位/像素* /nRet = L_LoadBitmap (MAKE_IMAGE_PATH(文本(“sample5.cmp”&LeadBitmap)),运算符(BITMAPHANDLE), 0 ORDER_BGR空,空);如果(nRet ! =成功)返回nRet;/ *将图像在圆形细胞角长度= 5°,和半径= 10 * /CenterPt。x = LeadBitmap.Width / 2;CenterPt。y = LeadBitmap。高度/ 2;nRet = L_PixelateBitmap (CenterPt &LeadBitmap 5, 10, 100年,PIX_AVR | PIX_RAD | PIX_WPER | PIX_HPER);如果(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领先的技术公司。保留所有权利。