# include“l_bitmap.h”
L_LTIMGSFX_APIL_INTL_RingEffectBitmap (pBitmap、nXOrigin nYOrigin、uRadius uRingCount, uRandomize, crColor,南,uFlags)
将图像划分为指定数量的戒指。每个环都是根据旋转角度旋转。每个环的旋转角度将随机选择或可以传递到函数的函数。
位图句柄指针引用的位图要修改。
坐标(像素)戒指的起源。
坐标(像素)戒指的起源。
如果国旗RING_RADIUS设置uFlags
这是每个环的宽度,以像素为单位。如果在uFlags RING_MAXRADIUS设置,这是最大半径,在像素。在后者情况下,每个环的宽度等于uRadius / uRingCount + 1。
戒指的数量。
随机过程的起点。有效的范围是0 - 500。如果为0,则函数将选择的起点。如果> 0,这个值将是起点。
颜色用来填补未定义的区域。使用该参数只有uFlags包含RING_COLOR。
每个环的旋转角度值与内圈相比,数度。使用该参数只有uFlags包含RING_FIXEDANGLE。可接受的值的范围从-18000年到18000年。这个值是内部除以100。
旗帜控制功能的行为。这些标志可以或者艾德连同其他国旗,除非另有说明。
价值 | 意义 |
---|---|
RING_COLOR | [0 x0000]控制环的输出未定义的区域。未定义区域填充颜色crColor 。如果你使用这个标志,不要使用RING_REPEAT或RING_NOCHANGE。 |
RING_REPEAT | [0 x0001]控制环的输出未定义的区域。重复的边缘地区和填补这些值未定义的地区。边缘会重复一半在失踪的部分环。如果你使用这个标志,不要使用RING_COLOR或RING_NOCHANGE。 |
RING_NOCHANGE | [0 x0002]控制环的输出未定义的区域。离开边缘像素保持不变。如果你旋转一个不完整的环,将继续留在原来的位图像素的地方你会定义部分戒指。如果你使用这个标志,不要使用RING_COLOR或RING_REPEAT。 |
RING_FIXEDANGLE | [0 x0010]旋转每个环与内环固定旋转角度(得到)。 |
RING_RADIUS | [0 x0100]表明uRadius 包含每个环的宽度,以像素为单位。如果你使用这个标志,不要使用RING_MAXRADIUS。 |
RING_MAXRADIUS | [0 x0200]表明uRadius包含最大半径,在像素,对应于外部环。在这种情况下,每个环的宽度uRadius /uRingCount + 1。如果你使用这个标志,不要使用RING_RADIUS。 |
价值 | 意义 |
---|---|
成功 | 函数是成功的。 |
< 1 | 一个错误发生。指返回代码。 |
这个函数不支持已签名的数据图像。它返回错误代码ERROR_SIGNED_DATA_NOT_SUPPORTED如果签名数据图像是传递给这个函数。
这个函数可以处理整个图像或一个地区的形象。如果位图有一个地区,效果仅适用于该地区。
将图像划分为一定数量的戒指。每个环旋转相比,其内环根据角度的转变。函数将随机选择的转变角度(如果没有设置RING_FIXEDANGLE标志)或将使用指定的角nAngle
(RING_FIXEDANGLE标志设置)。
如果RING_FIXEDANGLE国旗没有设置,那么函数将随机选择的转变角度。起点(即“随机价值”)的随机数生成器选择通过uRandomize
参数,如下:
如果uRandomize设置为0,那么函数将选择一个随机值1和500之间的随机值。
如果uRandomize > 0,它将用于随机值。注意,uRandomize应该介于1和500在这种情况下。
虽然是随机生成的数字,如果你开始使用相同的随机值你总会得到相同的随机数序列。这意味着,如果你叫uRandomize函数两次相同的值,你会得到相同的结果。
环的中心是由nXOrigin
和nYOrigin
参数。函数计算每个环的宽度除以最大半径(uRadius
当uFlags
将RING_MAXRADIUS)环的数量(uRingCount
+ 1)。
每个圆的最小宽度是2。如果划分的结果小于2,该函数将uRadius / 2环,每个环都有2的宽度。
戒指有一个很大的半径可能不是完全内的位图。我们将把这些称为“不完整的环”。我们将引用部分的环外的位图作为“待定部分”。当你旋转一个不完整的环,一个待定的戒指可能会进入视野。指定的功能有三个方面的输出像素待定部分进入视野的地方:
离开原来的位图像素不变(RING_NOCHANGE设置)或
重复(RING_REPEAT设置)或边缘像素
未定义区域填充颜色crColor
(RING_COLOR设置)。
的决定部分环总是取代原来的位图像素。
图像被分成一个内层的圆和一个戒指的数量。最内层循环不会旋转。每个环与内圈旋转。旋转角度如下:
如果设置了RING_FIXEDANGLE,每个环将对得到的内圈旋转。换句话说,每个索引将对初始位置的旋转nAngle
* <环指数>。(指数是基于0。最内层循环被认为是有一个索引为0,不会旋转)。
如果没有设置RING_FIXEDANGLE,函数将随机选取每个环的旋转角度。
环的宽度决定如下:
如果设置了RING_RADIUS, uRadius是每个环的宽度
如果设置了RING_MAXRADIUS, uRadius将最大环半径。在这种情况下,每个环的宽度uRadius
/uRingCount
+ 1。
这个函数支持LEADTOOLS支持的所有位/像素。
但支持12和16位灰度和48和64位彩色图像是可用的文档和医疗成像工具包。
更新状态栏或检测用户中断在执行这个函数,引用L_SetStatusCallback。
这个函数不支持32位灰度图像。它返回错误代码ERROR_GRAY32_UNSUPPORTED如果一个32位的灰度图像是传递给这个函数。
必需的dll和库
x64 Win32。
这个示例加载位图加载图像并应用螺旋效应。
L_INT RingEffectBitmapExample (L_VOID)
{
L_INT nRet;
BITMAPHANDLE LeadBitmap;/ *加载位图句柄保存图像。* /
L_UINT uXorg, uYorg, uRadius;
/ *加载位图,保持文件的比特每像素* /
nRet = L_LoadBitmap (MAKE_IMAGE_PATH(文本(“ImageProcessingDemo \ \ Image2.jpg”&LeadBitmap)),运算符(BITMAPHANDLE), 0 ORDER_BGR空,空);
如果(nRet ! =成功)
返回nRet;
uXorg = (L_UINT) (LeadBitmap.Width / 2);
uYorg = (L_UINT) (LeadBitmap.Height / 2);
uRadius = uXorg;
/ *环效应应用于这个位图与起源(uXorg, uYorg)。最大的环半径等于位图的宽度的一半。画10环,未定义区域填充黑色和转向角等于1度。注意,您必须定义区域只有位图的位图宽度大于高度。* /
nRet = L_RingEffectBitmap (&LeadBitmap uXorg, uYorg, uRadius 10 0, RGB(0, 0, 0), 100年,RING_COLOR | RING_FIXEDANGLE | RING_MAXRADIUS);
如果(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点
联系我们请填写这张表格,我们将通过电子邮件联系你。