PNG数据转换成BMP数据!~~~求问? 问大家一个问题呗。我现在手里有一个一大堆PNG图片的打包文件,PNG都是打包了!然后我现在自己能将每一张PNG图片的信息存入内存中,我现在就是想把内存中的这块PNG数据转换成BMP数据,不知道如何转换。求高手指点了!~~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 直接用GDI+ 几行代码搞定,load一下,然后调用编码函数,然后保存就这么简单 方法很多,可以使用Cimage 的Save方法。也可以画入HDC后就是BMP。 你好!额,比如你现在有一块 char* png 的数据,然后给你一个char*BMP的指针,如何转换呀?GDI+我没有用过呀!能大概给我一个DEMO吗?或者大概的实例代码。谢谢啦! 用opencv或cximage都可以,直接读取然后存储即可 确实用Gdi+比较简单,Load的代码不写了;给点保存的代码,让你看下。 CBitmap Bmp;................... //保存为相应的格式 Bitmap* pImage = Bitmap::FromHBITMAP(Bmp, NULL); if ( pImage ) { // 保存个bmp图片 BOOL bFlag = FALSE; CLSID bmpClsid; GetEncoderClsid(L"image/bmp", &bmpClsid); if ( Ok == pImage->Save(strPath, &bmpClsid, NULL) ) bFlag = TRUE; //保存为jpeg文件// CLSID pngClsid;// GetEncoderClsid(L"image/jpeg", &pngClsid);// EncoderParameters encoderParameters;// encoderParameters.Count = 1;// encoderParameters.Parameter[0].Guid = EncoderQuality;// encoderParameters.Parameter[0].Type = EncoderParameterValueTypeLong;// encoderParameters.Parameter[0].NumberOfValues = 1;// ULONG quality = 99;// encoderParameters.Parameter[0].Value = &quality;// if ( Ok == pImage->Save(strPath, &pngClsid, &encoderParameters))// {// //m_pMicroBlogPublishDlg->OnCaptureScreen(szTempFileName, wszBmp);// } //delete pImage; } 这种错误我只在汇编里遇到过——连接错误,大虾留下你们的邮箱,我快没分了,求救~~ 读取.mat文件遇到了Access Violation问题 急求大侠帮忙:网络延时久造成recv函数出问题怎么解决 有關 GetLastError(VOID) 問題 新年快乐!!!!!!!! 英文差,MSDN中的下面这句话怎么翻译? 我在用send发送数据时出现WSAEWOULDBLOCK 错误,怎么解决啊? 菜鸟问题,怎样在一个文本文件后边加上一个字符串? 如何向对话框中动态添加一个CListCtrl? 网络编程error LNK2001 关于对话框刷新处理 关于MFC下使用USkin的问题
也可以画入HDC后就是BMP。
CBitmap Bmp;
...................
//保存为相应的格式
Bitmap* pImage = Bitmap::FromHBITMAP(Bmp, NULL);
if ( pImage )
{
// 保存个bmp图片
BOOL bFlag = FALSE;
CLSID bmpClsid;
GetEncoderClsid(L"image/bmp", &bmpClsid);
if ( Ok == pImage->Save(strPath, &bmpClsid, NULL) )
bFlag = TRUE; //保存为jpeg文件
// CLSID pngClsid;
// GetEncoderClsid(L"image/jpeg", &pngClsid);
// EncoderParameters encoderParameters;
// encoderParameters.Count = 1;
// encoderParameters.Parameter[0].Guid = EncoderQuality;
// encoderParameters.Parameter[0].Type = EncoderParameterValueTypeLong;
// encoderParameters.Parameter[0].NumberOfValues = 1;
// ULONG quality = 99;
// encoderParameters.Parameter[0].Value = &quality;
// if ( Ok == pImage->Save(strPath, &pngClsid, &encoderParameters))
// {
// //m_pMicroBlogPublishDlg->OnCaptureScreen(szTempFileName, wszBmp);
// }
//delete pImage;
}