问一个很简单的图像读取显示的问题

chriswwl 2006-03-20 05:22:29
帮忙举一个实际点的例子
比如读取和显示e:\1.jpg的图像

程序怎么写?
...全文
72 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
FengYuanMSFT 2006-03-21
  • 打赏
  • 举报
回复

IPicture * LoadPicture(LPCTSTR szFile)
{
// open file
HANDLE hFile = CreateFile(szFile, GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);

if (INVALID_HANDLE_VALUE == hFile)
{
return NULL;
}
else
{
// get file size
int nFileSize = GetFileSize(hFile, NULL);

IPicture * pPicture = NULL;

if (nFileSize > 0)
{
// alloc memory based on file size
HGLOBAL hGlobal = GlobalAlloc(GMEM_MOVEABLE, nFileSize);

LPVOID pvData = GlobalLock(hGlobal);

DWORD dwBytesRead = 0;
// read file and store in global memory
BOOL bRead = ReadFile(hFile, pvData, nFileSize, &dwBytesRead, NULL);

GlobalUnlock(hGlobal);

LPSTREAM pstm = NULL;

HRESULT hr = CreateStreamOnHGlobal(hGlobal, TRUE, &pstm);

assert(SUCCEEDED(hr) && pstm);

hr = ::OleLoadPicture(pstm, nFileSize, FALSE, IID_IPicture, (LPVOID *)&pPicture);
assert(SUCCEEDED(hr) && pPicture);

pstm->Release();

}

CloseHandle(hFile);

return pPicture;
}
}


pPicture->Render(hdc, dx, dy, w, h, 0, bmHeight, bmWidth, -bmHeight, NULL);

19,468

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧