分析GIF文件都没问题,到 向图像列表追加位图 这一步出问题了。
代码如下: for (int i =0;i<this->frames;i++)
{
//取出地i幅图片
multi->SelectActiveFrame(&pageGuid,i);
//保存为临时图片
multi->Save(L"tmp.bmp",&encoderClsid);
//构造图像列表控件的图像
Bitmap bmp(L"tmp.bmp");
HBITMAP* tmpHBITMAP = new(HBITMAP);
bmp.GetHBITMAP(Color::Black,tmpHBITMAP);
CBitmap* tmpbmp = NULL;
CBitmap* ImageListBmp = tmpbmp->FromHandle(*tmpHBITMAP);
//如果ImageListBmp创建失败
if (ImageListBmp=NULL)
{
AfxMessageBox("提取位图出错");
delete tmpHBITMAP;
return 0;
}
if (m_ImageListl.Add(ImageListBmp,RGB(0,0,0))==-1)
{
AfxMessageBox("列表控件追加图像出错!");
delete tmpHBITMAP;
return 0;
}
delete tmpHBITMAP;
}
运行的时候只能看到把gif第一帧保存为bmp图片了。然后报错AfxMessageBox("列表控件追加图像出错!");
向图像列表控件追加图像不成功。
代码如下: for (int i =0;i<this->frames;i++)
{
//取出地i幅图片
multi->SelectActiveFrame(&pageGuid,i);
//保存为临时图片
multi->Save(L"tmp.bmp",&encoderClsid);
//构造图像列表控件的图像
Bitmap bmp(L"tmp.bmp");
HBITMAP* tmpHBITMAP = new(HBITMAP);
bmp.GetHBITMAP(Color::Black,tmpHBITMAP);
CBitmap* tmpbmp = NULL;
CBitmap* ImageListBmp = tmpbmp->FromHandle(*tmpHBITMAP);
//如果ImageListBmp创建失败
if (ImageListBmp=NULL)
{
AfxMessageBox("提取位图出错");
delete tmpHBITMAP;
return 0;
}
if (m_ImageListl.Add(ImageListBmp,RGB(0,0,0))==-1)
{
AfxMessageBox("列表控件追加图像出错!");
delete tmpHBITMAP;
return 0;
}
delete tmpHBITMAP;
}
运行的时候只能看到把gif第一帧保存为bmp图片了。然后报错AfxMessageBox("列表控件追加图像出错!");
向图像列表控件追加图像不成功。
解决方案 »
- 求教 关于MFC的Microsoft Multimedia Control控件的使用
- BCGControlBar使用手册
- CPen pen1(1,1,CurColor);这样的语句会出错,有人遇见过吗?
- com的简单问题,100分求解!
- 请问怎样创建动态的位图画笔(在内存DC中绘画作为画笔)?
- 请问:怎样判断一个包经过多少网段?
- 如何能在处理完windows消息后,再把该消息放回windows的消息队列?
- 高分请教如何将一个纯DOS程序的输入和输出重定向到一个WIN窗口中
- 是知道虚拟光驱的实现原理?
- 还是ToolBar问题: SetButtonText不管用~~~~~~
- BYTE* imageDest;这个语句是什么意思?
- 这个怎么描述……不好说……mfc基础问题
35 085 9625