# include“l_bitmap.h”
L_LTKRN_APIL_INTL_SetBitmapDataPointer(pBitmap, pData, dwSize)
将指定位图的数据指针设置为指定的数据指针pData.
指向位图句柄的指针,该句柄引用要设置数据指针的位图。
用于设置指定位图数据指针的数据指针。
由pData指向的数据缓冲区的大小。
| 价值 | 意义 |
|---|---|
| 成功 | 活动很成功。 |
| < 1 | 发生错误。指返回代码. |
此函数可用于更改创建的位图的数据指针L_CreateBitmap,或按L_AllocateBitmap,内存类型为TYPE_USER。位图的指向数据指针被设置为传入的数据指针pData.
您负责管理映像数据。L_FreeBitmap将不释放pData。
当使用位图时,pData指向的内存缓冲区必须是有效的。如果释放了位图引用的内存缓冲区,则在尝试使用该位图时将遇到访问违规。
如果为pData传递NULL,则位图没有位图数据。您不应该尝试使用没有数据指针的位图。
请注意:计算单行图像数据的正确大小:
Windows:(((Width * BitsPerPixel) + 31) >> 3)) &~3
Linux: ((Width * BitsPerPixel) + 7) / 8)
必需的dll和库
Win32, x64, Linux。
请注意,您需要释放分配给位图的内存
和位图数据使用如下:
L_INT SetBitmapDataPointerExample(pBITMAPHANDLE){//分配一个足够大的缓冲区,以容纳两个镜像副本L_UCHAR* pBuffer = (L_UCHAR*)GlobalAllocPtr(GMEM_MOVEABLE, pBitmap->Size * 2);L_INT我;L_INT nRet;//锁定位图L_AccessBitmap (pBitmap);//循环,并获得翻转和正常版本的图像到pBuffer为(i = 0;i < pBitmap->Height;我+ +){nRet =(L_INT) L_GetBitmapRow(pBitmap,)pBuffer + i * pBitmap->BytesPerLine,pBitmap->ViewPerspective == TOP_LEFT ?pBitmap->Height - i - 1: i,pBitmap - > BytesPerLine);如果(nRet < 1)返回nRet;memcpy(pBuffer + pBitmap->Size + (pBitmap->Height - i - 1) * pBitmap->BytesPerLine,pBuffer + i * pBitmap->BytesPerLine,pBitmap - > BytesPerLine);}//解锁位图L_ReleaseBitmap (pBitmap);//释放原始映像。注意,这里假设图像是24位的//简单起见,这样就不需要将调色板条目数组传递给L_CreateBitmap//对于彩色图像,你必须获取调色板条目并传递它们而不是NULLL_FreeBitmap (pBitmap);//将图像设置为翻转版本如果((nRet = L_CreateBitmap(pBitmap,运算符(BITMAPHANDLE),TYPE_USER,pBitmap->宽度,pBitmap->高度,pBitmap->BitsPerPixel,pBitmap - >订单,空,TOP_LEFT,pBuffer, pBitmap->Size)) == SUCCESS){消息框(NULL, TEXT(“图像被翻转了”),文本(""), MB_OK);//将图像设置为非翻转版本返回L_SetBitmapDataPointer(pBitmap, pBuffer + pBitmap->Size, pBitmap->Size);}返回nRet;}
帮助收藏
光栅net|C API|c++类库|HTML5 JavaScript
文档net|C API|c++类库|HTML5 JavaScript
医疗net|C API|c++类库|HTML5 JavaScript
医疗网络查看器net
188宝金博怎么下载
支持的平台上
.NET、Java、Android和iOS/macOS程序集
C API/ c++类库
HTML5 JavaScript库
您的邮件已发送给技术支持!应该有人联系!如果你的事情很紧急,请回来聊天。
聊天时间:
周一至周五,美国东部时间上午8:30至下午6:00
感谢您的反馈!
请再次填写表格,开始新的聊天。
所有代理目前都离线。
聊天时间:
星期一至星期五
美国东部时间上午8:30 -下午6点
如需与我们联系,请填写此表格,我们将通过电子邮件与您联系。
