MFC对话框 CImage Load图片后hBitmap是无法计算的值???为神马啊啊啊
//TODO:在此添加控件通知处理程序代码CStringImagePathName;CStringstrFilter;strFilter="bmp位图文件|*.bmp|J...
// TODO: 在此添加控件通知处理程序代码
CString ImagePathName;
CString strFilter;
strFilter = "bmp位图文件|*.bmp|JPEG图像文件|*.jpg|GIF图像文件|*.gif|PNG图像文件|*.png||";//图像过滤器
CFileDialog dlg(TRUE,NULL,NULL,NULL,strFilter);//创建开打图像的对话框
if(dlg.DoModal()==IDOK)
{
ImagePathName=dlg.GetPathName();//获取图像文件名
}
img.Load(ImagePathName);
hBitmap=img.Detach(); // 获得位图句柄 用以转换 展开
CString ImagePathName;
CString strFilter;
strFilter = "bmp位图文件|*.bmp|JPEG图像文件|*.jpg|GIF图像文件|*.gif|PNG图像文件|*.png||";//图像过滤器
CFileDialog dlg(TRUE,NULL,NULL,NULL,strFilter);//创建开打图像的对话框
if(dlg.DoModal()==IDOK)
{
ImagePathName=dlg.GetPathName();//获取图像文件名
}
img.Load(ImagePathName);
hBitmap=img.Detach(); // 获得位图句柄 用以转换 展开
展开全部
那反过来问为什么要计算hBitmap的值呢,一般来说句柄用于标识某一资源,友比如窗口句柄,一般都是由资源被装载或生成后才生成的,因此无法预先进行计算。
追问
实在惭愧!那么我这样加载图片是否算得成功了呢?
追答
一般来说,加载成功通过查看返回的句柄值就知道,如果返回的句柄值是0,表示加载不成功。但是如果调用Detach函数,那么你加载的图像资源已经与img对象分离,之后利用img来操作加载的位图资源应该是无效的,但是通过返回的句柄操作图像资源是否可以就不知道了,只能自己试一试看。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询