我写了一个MFC程序处理图像,用CFileDIalog类弹出打开框,选择要处理的图像,我设置了dlg.m_ofn.flags值使其能过一次选中多个图像(选中的图像位置可能不是连续的),怎样将选中的图像一幅一幅的加载进入内存??高手帮帮,如果有其他方法也可以,谢谢!!!
解决方案 »
- 基于对话框的MFC程序 新增加了一个IDR_MENU1 怎么运行时没有显示出来呢?
- 图像处理,Matlab,学习知识点。
- VC++6.0应用程序打包
- ListCtrl,如何判定“最后一个”LVN_ITEMCHANGED消息?
- 向高手求救:可以使用libmySQL.dll来建立一个MYSQL数据库吗?
- 关于鼠标滚轮事件。
- 怎么屏蔽掉文件的属性
- 高分求购Skin(皮肤)框架的源代码。
- 怎样编程把一台win98的机器变成TFTP或是FTP服务器?
- 高潮的技术,精巧的外观,超小得体积,本人的webBrowser就要发行了!:)
- 如何能实现让指定的网站显示在对dialog上?
- 电子白板分割视图之后在线人数不能显示 (有源码下载)
CRect rc;
m_photoctl.GetWindowRect (&rc);
IStream *pstm;
CFileStatus fstatus;
CFile file;
LONG cb;
IPicture *ppic;
if(file.Open (m_strphotofullname,CFile::modeRead)&&file.GetStatus (m_strphotofullname,fstatus)
&& ((cb=fstatus.m_size )!=-1))
{
HGLOBAL hglobal=GlobalAlloc(GMEM_MOVEABLE,cb);
LPVOID pvdata=NULL;
if(hglobal)
{
if((pvdata=GlobalLock(hglobal))!=NULL)
{
file.ReadHuge (pvdata,cb);
GlobalUnlock(hglobal);
CreateStreamOnHGlobal(hglobal,true,&pstm);
}
}
}
if(SUCCEEDED(OleLoadPicture(pstm,cb,true,IID_IPicture,(LPVOID*)&ppic)))
{
OLE_XSIZE_HIMETRIC hmwidth;
OLE_XSIZE_HIMETRIC hmheight;
ppic->get_Width (&hmwidth);
ppic->get_Height (&hmheight);
ppic->Render (*pdc,0,0,rc.Width (),rc.Height (),0,hmheight,hmwidth,-hmheight,NULL);
ppic->Release ();
}若要将多幅图片加载,则循环几次即可。