# include“l_bitmap.h”
L_LTIMGSFX_APIL_INTL_PuzzleEffectBitmap (pBitmap、uXBlock uYBlock、uRandomize uFlags, crColor);
将图像分为街区并随机排列这些块内部的图像。
位图句柄指针引用的位图要修改。
如果PUZZLE_SIZE标志设置,该值表示每个块的宽度,以像素为单位。如果设置了PUZZLE_COUNT标志,它代表块的数量每一行。
如果PUZZLE_SIZE标志设置,该值表示每个块的高度,以像素为单位。如果设置了PUZZLE_COUNT标志,它代表每列块的数量。
随机过程的起点。有效值范围从0到500年。用0到函数选择的起点。
标志指定如何应用问题的效果。可能的值是:
价值 | 意义 |
---|---|
PUZZLE_BORDER | [0 x0001]画边界周围的拼图块。使用crColor 参数通过边框颜色。如果不设置BITMAP_RESIZE国旗和边缘块比内部块有不同的大小,边界不会画右侧和底部边缘。 |
PUZZLE_SHUFFLE | [0 x0002]洗牌周围的街区,控制的随机过程uRandomize 参数。如果没有设置这个标志,街区将保持在原来的位置。 |
PUZZLE_SIZE | [0 x0010]应用使用拼图效果uXBlock 和uYBlock 参数为每个块的宽度和高度,以像素为单位。 |
PUZZLE_COUNT | [0 x0020]应用难题影响使用uXBlock和uYBlock参数作为块的数量每一行和每一列。 |
BITMAP_RESIZE | [0 x0100]调整图像,以确保所有块大小相等。如果不设置这个标志,那么剩下的图像(边缘块)将比内部操纵不同的块。 |
如果PUZZLE_BORDER设置uFlags
这个值代表的颜色边界,将周围的街区。这个参数被忽略,如果PUZZLE_BORDER国旗没有设置。
价值 | 意义 |
---|---|
成功 | 函数是成功的。 |
< 1 | 一个错误发生。指返回代码。 |
这个函数不支持已签名的数据图像。它返回错误代码ERROR_SIGNED_DATA_NOT_SUPPORTED如果签名数据图像是传递给这个函数。
这个函数可以处理整个图像或一个地区的形象。如果位图有一个地区,效果仅适用于该地区。
将图像分为若干块根据传递给它的旗帜。如果PUZZLE_SIZE标志设置,那么图像分成块使用uXBlock
和uYBlock
块的尺寸参数。如果PUZZLE_COUNT标志设置,图像将被分为块使用uXBlock和uYBlock参数块的数量每行和每列块的数量。
如果没有设置BITMAP_RESIZE国旗,边缘块比内部块可能有不同的大小。这意味着将操纵不同的边缘块内部块。内部块具有相同的维度将转来转去。右边缘块将会重新洗牌和底部边缘块将重新洗牌。
如果BITMAP_RESIZE标志设置,图像会被调整大小以确保所有模块都有相同的尺寸。在这种情况下,边缘块比内部块不会区别对待。
如果设置了PUZZLE_BORDER国旗,边界将通过的颜色crColor
参数。如果没有设置这个标志,没有边界。
如果没有设置PUZZLE_SHUFFLE国旗,街区将出现在原来的位置。如果这个标志设置块会随机出现。随机化过程将被控制的uRandomize
参数如下:
如果uRandomize设置为0,则函数将选择随机过程的起点。你会得到一个不同的结果每次调用这个函数与uRandomize = 0。
如果你设置uRandomize > 0,该函数将使用该值作为随机过程的起点。你会得到相同的结果每次调用这个函数具有相同的价值uRandomize > 0。
边缘块大小相同,但作为内部块可能进入生成图像的中间。边缘块用不同的大小比内部块将保持边缘。
必须设置PUZZLE_SIZE或PUZZLE_COUNT(但没有)函数影响形象。如果你通过为0uFlags
,函数图像不变。
这个函数支持LEADTOOLS支持的所有位/像素。
这个函数支持12和16位灰度和48和64位彩色图像。支持12和16位灰度和48和64位彩色图像是可用的文档和医疗成像工具包。
更新状态栏或检测用户中断在执行这个函数,引用L_SetStatusCallback。
这个函数不支持32位灰度图像。它返回错误代码ERROR_GRAY32_UNSUPPORTED如果一个32位的灰度图像是传递给这个函数。
必需的dll和库
x64 Win32。
这个示例加载位图加载图像并应用一个谜效应。
L_INT PuzzleEffectBitmapExample (L_VOID)
{
L_INT nRet;
BITMAPHANDLE LeadBitmap;/ *加载位图句柄保存图像。* /
/ *加载位图,保持文件的比特每像素* /
nRet = L_LoadBitmap (MAKE_IMAGE_PATH(文本(“ImageProcessingDemo \ \ Image2.jpg”&LeadBitmap)),运算符(BITMAPHANDLE), 0 ORDER_BGR空,空);
如果(nRet ! =成功)
返回nRet;
/ *应用效果的难题这位图* /
nRet = L_PuzzleEffectBitmap (&LeadBitmap 10 10 0 PUZZLE_BORDER | PUZZLE_SHUFFLE | PUZZLE_COUNT | BITMAP_RESIZE, RGB (0, 0, 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);
返回成功;
}
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗Web查看器net
188宝金博怎么下载
支持的平台上
net, Java, Android和iOS / macOS组件
C / c++类库的API
HTML5 JavaScript库
你的邮件已经发送到支持!有人应该联系!如果你的问题是紧急请回到聊天。
聊天时间:
周一——周五,上午6点等
谢谢你的反馈!
请填写表单重新开始一个新的聊天。
所有代理目前离线。
聊天时间:
周一-周五
早上8:30 - 6点
联系我们请填写这张表格,我们将通过电子邮件联系你。