请问如何用GDI+将JPG转成BMP?
接这个贴的提问:
http://topic.csdn.net/u/20111011/17/003a4882-5530-4bd1-9cc7-81fc20f4b08f.html?seed=1566966170&r=76241683#r_76241683
最后发现VC6中根本没有CImage类,百度了一下,发现这个类是在.net可用的。
幸好我现在在用GDI+,有没有朋友告诉我如何用GDI+将jpg转成bmp,而且不会在硬盘中产生文件?
[解决办法]
http://download.csdn.net/detail/chenxh/4107
[解决办法]
你自己认为可能吗?文件格式名都不一样!!
如果你要新产生的文件,那你删除就得文件就行了。。
BOOL DeleteFile( LPCTSTR lpFileName );
[解决办法]
用cximage试试吧!
或者借用它里面的源代码:
http://www.codeproject.com/KB/graphics/cximage.aspx
[解决办法]
你包含CImage的头文件就可以了
HGLOBAL hGlobal = GlobalAlloc( GPTR,1024*1024 );//分配内存
IStream* pIStream = NULL;
if(CreateStreamOnHGlobal(hGlobal, TRUE, (LPSTREAM*)&pIStream) != S_OK)
{
AfxMessageBox(_T("Failed to create stream on global memory!"));
return;
}
CImage image;
image.Load("d:\\1.jpg");
image.Save( pIStream, ImageFormatBMP );//在内存里保存为BMP
或者image.Save( "d:\\1.bmp", ImageFormatBMP);//保存为文件
要操作转换后的文件,可以
image.Load(pIStream);//继续操作
也可以
HBITMAP hBitmap = image.Detach();
从资源中加载也可以用CImage::LoadFromResource