# include“l_bitmap.h”
L_LTKRN_API L_HDIB L_ConvertToDIB(pBitmap, uType)
将LEAD Technologies位图转换为Windows设备独立位图(DIB)。当这个函数完成时,内存中有两个图像副本:DIB和原始LEAD位图。释放一个不会影响另一个。
指向引用要更改的位图的位图句柄的指针。
标志,指示要创建的DIB的类型。可能取值为:
价值 | 意义 |
---|---|
DIB_BITMAPINFOHEADER | [0]使用BITMAPINFOHEADER的DIB |
DIB_BITMAPV4HEADER | [1]使用BITMAPV4HEADER的DIB。(windows95及windowsnt4.0已引入) |
DIB_BITMAPV5HEADER | [2]使用BITMAPV5HEADER的DIB (Windows 2000、Windows 98引入) |
此函数将返回DIB的句柄。
该函数分配一个DIB位图,并将LEAD位图复制到DIB。
DIB包括以下其中一项:
接着是颜色表,然后是位图数据。属性的值决定所得到的DIB类型uType
国旗。
图像的方向和颜色顺序取决于如何将图像加载到LEAD位图中。
如果要使用相同的位图句柄加载另一个图像,则必须再次初始化该位图句柄。
当您不再需要DIB时,可以使用Windows GlobalFree函数释放它。
必需的dll和库
Win32, x64, Linux。
完整的示例代码请参阅DIBDDB
的例子。
本例获取一个LEAD位图,将其转换为V5 DIB并写入
将DIB作为位图文件输出
# include < fcntl.h >
静态L_INT MySaveFile(HGLOBAL hDIB,
L_TCHAR * pszFileName)
{
DWORD dwSize;
处理外交政策;
L_UCHAR * pDIB;
BITMAPFILEHEADER bfh;
PBITMAPINFOHEADER pbih;
L_SIZE_T zDIBsize;
zDIBsize = GlobalSize(hDIB);
bfh。bfType = 0x4d42;/ /“BM”;
bfh。bfSize = (DWORD) (运算符(BITMAPFILEHEADER) + zDIBsize);
bfh。bfReserved1 = 0;
bfh。bfReserved2 = 0;
pDIB = (L_UCHAR *)GlobalLock(hDIB);
pbih = (PBITMAPINFOHEADER)pDIB;
//计算颜色索引数组的偏移量。
bfh。bfOffBits = (DWORD)运算符(BITMAPFILEHEADER) +
pbih->biSize + pbih->biClrUsed * .运算符(RGBQUAD);
fp = CreateFile(pszFileName, GENERIC_WRITE | GENERIC_READ, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0);
如果(fp == 0)
返回虚假的;
WriteFile (fp、&bfh运算符(BITMAPFILEHEADER), &dwSize, NULL);
WriteFile(fp, pDIB, (L_UINT) zDIBsize, &dwSize, NULL);
CloseHandle (fp);
GlobalUnlock (hDIB);
返回真正的;
}
L_INT converttodibeexample (pBITMAPHANDLE pBitmap,L_TCHAR* pszFileName)
{
HGLOBAL hDIB;
hDIB = L_ConvertToDIB(pBitmap, DIB_BITMAPINFOHEADER);
MySaveFile (hDIB pszFileName);
GlobalFree (hDIB);
返回成功;
}
帮助收藏
光栅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点
如需与我们联系,请填写此表格,我们将通过电子邮件与您联系。