jpg转bmp的问题
我在网上找到一段能有效把jpg转到bmp的代码,但它读的是文件
我把jpg文件加入资源,请问应如何修改,使其处理jpg资源?
代码如下:
HBITMAP ImageLoad(LPCTSTR szFile, HBITMAP hRet)
{
LPPICTURE gpPicture;
HANDLE hFile = ::CreateFile(szFile, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
if(INVALID_HANDLE_VALUE == hFile)
return false;
DWORD dwFileSize = ::GetFileSize(hFile, NULL);
ASSERT(-1 != dwFileSize);
LPVOID pvData = NULL;
HGLOBAL hGlobal = ::GlobalAlloc(GMEM_MOVEABLE, dwFileSize);
ASSERT(NULL != hGlobal);
pvData = ::GlobalLock(hGlobal);
ASSERT(NULL != pvData);
DWORD dwBytesRead = 0;
BOOL bRead = ::ReadFile(hFile, pvData, dwFileSize, &dwBytesRead, NULL);
ASSERT(FALSE != bRead);
::GlobalUnlock(hGlobal);
::CloseHandle(hFile);
LPSTREAM pstm = NULL;
HRESULT hr = ::CreateStreamOnHGlobal(hGlobal, TRUE, &pstm);
ASSERT(SUCCEEDED(hr) && pstm);
hr=::OleLoadPicture(pstm, dwFileSize, FALSE, IID_IPicture, (LPVOID *)&gpPicture);
ASSERT(SUCCEEDED(hr) && gpPicture);
pstm->Release();
OLE_HANDLE picHandle;
gpPicture->get_Handle(&picHandle);
HDC hdc = ::CreateCompatibleDC(NULL);
ASSERT(hdc);
::SelectObject(hdc, (HGDIOBJ) picHandle);
hRet = (HBITMAP)::GetCurrentObject(hdc, OBJ_BITMAP);
DeleteDC(hdc);
return hRet;
}
我把jpg文件加入资源,请问应如何修改,使其处理jpg资源?
代码如下:
HBITMAP ImageLoad(LPCTSTR szFile, HBITMAP hRet)
{
LPPICTURE gpPicture;
HANDLE hFile = ::CreateFile(szFile, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
if(INVALID_HANDLE_VALUE == hFile)
return false;
DWORD dwFileSize = ::GetFileSize(hFile, NULL);
ASSERT(-1 != dwFileSize);
LPVOID pvData = NULL;
HGLOBAL hGlobal = ::GlobalAlloc(GMEM_MOVEABLE, dwFileSize);
ASSERT(NULL != hGlobal);
pvData = ::GlobalLock(hGlobal);
ASSERT(NULL != pvData);
DWORD dwBytesRead = 0;
BOOL bRead = ::ReadFile(hFile, pvData, dwFileSize, &dwBytesRead, NULL);
ASSERT(FALSE != bRead);
::GlobalUnlock(hGlobal);
::CloseHandle(hFile);
LPSTREAM pstm = NULL;
HRESULT hr = ::CreateStreamOnHGlobal(hGlobal, TRUE, &pstm);
ASSERT(SUCCEEDED(hr) && pstm);
hr=::OleLoadPicture(pstm, dwFileSize, FALSE, IID_IPicture, (LPVOID *)&gpPicture);
ASSERT(SUCCEEDED(hr) && gpPicture);
pstm->Release();
OLE_HANDLE picHandle;
gpPicture->get_Handle(&picHandle);
HDC hdc = ::CreateCompatibleDC(NULL);
ASSERT(hdc);
::SelectObject(hdc, (HGDIOBJ) picHandle);
hRet = (HBITMAP)::GetCurrentObject(hdc, OBJ_BITMAP);
DeleteDC(hdc);
return hRet;
}
...全文
相关推荐
RTF文本转图片 - WMF图片转BMP、JPG
RTF文本转图片 - WMF图片转BMP、JPG。@邓学彬。Tags:RTF文本转图片WMF图片转BMP。
png格式转jpg,bmp
png格式转jpg,bmp,该方法很简单,过程容易看懂,转换后的图片不会出现失真的情况,网上有很多图片格式转换这方面的资料,但大部分有失真现象出现。
圖片jpg轉bmp
圖片jpg轉bmp 讓轉檔不會再是很困難的問題
在内存中将bmp转JPG
VS2013,mfc,将大的bmp或者jpg用opencv读取、缩小后保存为bmp,再将bmp转jpg。jpg数据是在内存中的
bmp格式转jpg格式工具
能将bmp格式转换为jpg格式,再也不用直接改后缀而导致文件无法识别而发愁了,给大家带来福音


图形处理/算法
