# include“l_bitmap.h”
L_LTKRN_APIL_INTnIndex L_SetOverlayBitmap (pBitmap, pOverlayBitmap uFlags)
设置某个指数的覆盖图。
位图句柄指针引用主位图。
的索引设置位图的覆盖这个索引是从零开始的。
覆盖位图句柄指针包含新的覆盖图。这可以为空,在这种情况下,相应的覆盖图将被释放。
国旗决定如何设置位图的叠加。你不能把这些旗帜。可能的值是:
价值 | 意义 |
---|---|
OVERLAY_COPY | [0 x0000]覆盖插入位图的副本在覆盖列表中。pOverlayBitmap不会受到影响。 |
OVERLAY_NOCOPY | [0 x0001] pOverlayBitmap设置为覆盖列表没有复制。你应该修改覆盖图的时候要小心,因为您可以修改/覆盖图列表中的条目失效。 |
OVERLAY_MOVE | [0 x0003] pOverlayBitmap搬进覆盖列表。它还将被重置,所以你不能对其进行更改。这是在OVERLAY_NOCOPY推荐。 |
价值 | 意义 |
---|---|
成功 | 函数是成功的。 |
< 1 | 一个错误发生。指返回代码。 |
调用这个函数与一个有效的位图处理pOverlayBitmap
释放旧的覆盖在指定位图索引和设置覆盖位图索引新的pOverlayBitmap引用的位图。如果pOverlayBitmap是NULL,旧的覆盖图被释放和大小重置为:
OverlayWidth = BITMAPWIDTH (pBitmap) - pOverlayBitmap.ptOrigin.x
OverlayHeight = BITMAPHEIGHT (pBitmap) - pOverlayBitmap.ptOrigin.y
地点:
BITMAPWIDTH宏观决定了显示位图宽度,考虑到视图的角度。
BITMAPHEIGHT宏观决定了显示位图的高度,考虑到视图的角度。
如果uFlags OVERLAY_NOCOPY分配覆盖图,所有成员从pOverlayBitmap结构复制到覆盖数组。这意味着当你从pOverlayBitmap更新数据,覆盖位图也改变了。应格外注意当使用这个标志,因为你可以覆盖位图句柄无效存储在数组中。举个例子,如果你免费覆盖图,指向的数据覆盖图从内部数组也释放了,但是数组不知道这发生了,认为数据指针仍然有效。如果以某种方式访问叠加图,就会发生崩溃。一个更安全的方式快速设置数据是使用OVERLAY_MOVE。
如果uFlags
OVERLAY_MOVE, pOverlayBitmap的数据复制到覆盖数组然后pOverlayBitmap结构抹去。这意味着你可以做任何事pOverlayBitmap结构和覆盖位图存储在数组将不受影响。这是最有效的方式设置叠加图,将因为没有副本。
你可以改变通过调用L_SetOverlayBitmap覆盖位图的大小。请注意,您可以调用L_SetOverlayBitmap未分配的位图。在这种情况下,只使用宽度和高度的覆盖图。如果一个覆盖图已经存在,它将被释放,新宽度/高度将集。这样做之后,你必须打电话L_SetOverlayAttributes分配的覆盖图和图像数据从主位图填充它。
如果pOverlayBitmap
引用一个位图不出,这个函数会返回一个错误显示位图有错误比特每像素。
必需的dll和库
Win32 x64, Linux。
这个例子将加载位图的叠加,并设置它的颜色和一些属性。
L_INT SetOverlayBitmapExample (pBITMAPHANDLE pBitmap,
LPTSTR pszName,
L_INT nIndex,
也就是说crColor)
{
L_INT nRet;
BITMAPHANDLE OverlayBitmap;
OVERLAYATTRIBUTES OVERLAYATTRIBUTES;
/ /加载,然后设置覆盖图
nRet = L_LoadBitmap (pszName &OverlayBitmap,运算符(BITMAPHANDLE), 1 ORDER_RGB空,空);
如果(nRet = =成功)
nRet = L_SetOverlayBitmap (pBitmap nIndex、&OverlayBitmap OVERLAY_MOVE);
如果(nRet = =成功)
{
OverlayAttributes。uStructSize =运算符(OVERLAYATTRIBUTES);
OverlayAttributes。crColor = crColor;
OverlayAttributes。uFlags= OVERLAY_AUTOPAINT;
如果(nIndex ! = 3)/ / auto-process覆盖除了指数3
OverlayAttributes。uFlags|= OVERLAY_AUTOPROCESS;
OverlayAttributes.ptOrigin.x = nIndex * 30;
OverlayAttributes.ptOrigin.y = nIndex * 10;
OverlayAttributes。uBitPosition = (L_UINT16) (pBitmap - > BitsPerPixel - nIndex - 1);
nRet = L_SetOverlayAttributes (pBitmap,
nIndex,
&OverlayAttributes,
OVERLAYATTRIBUTES_COLOR |
OVERLAYATTRIBUTES_FLAGS |
OVERLAYATTRIBUTES_ORIGIN |
OVERLAYATTRIBUTES_BITINDEX);
}
L_FreeBitmap (&OverlayBitmap);
返回nRet;
}
帮助收藏
光栅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点
联系我们请填写这张表格,我们将通过电子邮件联系你。