CImage得到位图的大小

Posted wainiwann

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CImage得到位图的大小相关的知识,希望对你有一定的参考价值。

CImage image;
image.Load(_T("1.jpg"));
//HBITMAP hBitmap=image.Detach();
 
HGLOBAL m_hMem = GlobalAlloc(GMEM_MOVEABLE, 0);
IStream *pstm=NULL;
CreateStreamOnHGlobal(m_hMem, TRUE, &pstm);
 
image.Save(pstm,ImageFormatBMP);

 
LARGE_INTEGER liBeggining = { 0 };
pstm->Seek(liBeggining, STREAM_SEEK_SET, NULL);
DWORD size = GlobalSize(m_hMem);
LPBYTE lpData = (LPBYTE)GlobalLock(m_hMem);
CFile BMPfile(L"11.bmp",CFile::modeReadWrite | CFile::modeCreate);
BMPfile.Write (lpData,size);
BMPfile.Close();
pstm->Release();
GlobalUnlock(m_hMem);

http://bbs.csdn.net/topics/370241566

以上是关于CImage得到位图的大小的主要内容,如果未能解决你的问题,请参考以下文章

CImage类提供了GetBits()函数原理及实现

opencv mat和CImage之间的转换

加载图像时出错 - “位图大小超出 VM 预算”

VC++如何将rc资源中的图片加载到MFC的CImage对象中(附源码)

VC下加载多种格式图片的方法总结IPicture, CxImage, CImage(AtlImage), CPictureEx

在 Android 中以正确的大小解码位图