# 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。
如果uFlagsOVERLAY_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覆盖除了指数3OverlayAttributes。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点
联系我们请填写这张表格,我们将通过电子邮件联系你。
