MyException - 我的异常网
当前位置:我的异常网» VC/MFC » VC6.0 用GDI+中的BIt地图保存位图,出错!

VC6.0 用GDI+中的BIt地图保存位图,出错!

www.myexceptions.net  网友分享于:2013-04-10  浏览:13次
VC6.0 用GDI+中的BItmap保存位图,出错!!!

        LPCTSTR path =(LPCTSTR)wparam;//保存路径

StringFormat  strformat;//字体格式

strformat.SetAlignment(StringAlignmentCenter);
strformat.SetLineAlignment(StringAlignmentCenter);

Font m_font(L"宋体",10);
Bitmap   bm(300,1000);//创建一个位图对象
CLSID clsid;
RectF  rt[] = { RectF(0,0,30,20) , RectF(80,0,50,20) , RectF(80,0,50,20),        RectF(130,0,50,20) , RectF(180,0,50,20) } ;
char  cStyle[] = "image/bmp";
WCHAR WStyle[30] = {0};
MultiByteToWideChar(CP_ACP,0,cStyle,strlen(cStyle),WStyle,30);
GetEncoderClsid(WStyle ,&clsid );//获得WStyle 的ID
int err = -1;
Graphics *gs = Graphics::FromImage(&bm);
err = gs->Clear(Color(255,255,255));

err = gs->FillRectangles(&SolidBrush(Color(0,0,255)) ,rt,5);
err = gs->DrawRectangles(&Pen(Color::Black),rt,5);

err = gs->DrawString(L"Name",-1,&m_font,rt[0],&strformat,&SolidBrush(Color::Black) );
err = gs->DrawString(L"SN",-1,&m_font,rt[1],&strformat,&SolidBrush(Color::Black));

err = gs->DrawString(L"Size",-1,&m_font,rt[2],&strformat,&SolidBrush(Color::Black) );
err = gs->DrawString(L"Length",-1,&m_font,rt[3],&strformat,&SolidBrush(Color::Black));
err = gs->DrawString(L"Location",-1,&m_font,rt[4],&strformat,&SolidBrush(Color::Black) );
Bitmap bt( AfxGetApp()-> m_hInstance, (WCHAR *)(LPCTSTR)MAKEINTRESOURCE(IDB_DIM));
Bitmap *pbt = bt.Clone(0,0,48,48,0);
err = gs->DrawImage(pbt,0,22);
delete pbt;
pbt = NULL;
WCHAR  wpath[256] = {0};
MultiByteToWideChar(CP_ACP,0,path,strlen(path),wpath,256);
err = bm.Save(wpath,&clsid);
delete gs;
ShellExecute( NULL,"open",path,NULL,NULL,SW_SHOW );//打开文件夹




这段代码在VS2010 下是调试通过的,但是移到6.0下 保存的图片大小为0,查看了各个操作 返回至都是0,请大神指教!!!!在线等、、、、、、、
GDI+ BItmap操作 VC6.0 Bitmap

------解决方案--------------------
在vs2010下没问题,到了vc6有问题,会不会是字符集问题?

LPCTSTR path =(LPCTSTR)wparam;
------解决方案--------------------
看来只能自己调试了。。单步看看
------解决方案--------------------
库应该都一样的。。GDI+的库都没有变过,具体你可以对照查看下!!
------解决方案--------------------
这样应该没有道理的,单步可以成功的,那就release下编译,直接运行程序如何哪??
------解决方案--------------------
没有VC6.0 帮你测试不了。。。期待其它高人解决
------解决方案--------------------
GetEncoderClsid(L"image/bmp" ,&clsid );
------解决方案--------------------
http://www.baidu.com/s?wd=%27new%27+%3A+function+does+not+take+3+parameters&rsv_spt=1&issp=1&rsv_bp=0&ie=utf-8&tn=baiduhome_pg&rsv_n=2&rsv_sug3=1
------解决方案--------------------
引用:
没有VC6.0 帮你测试不了。。。期待其它高人解决

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有