首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

Image graphics类显示图片的有关问题

2012-01-28 
Image graphics类显示图片的问题voidCMainWnd::Try_to_open(){CFileDialogFileDlg(TRUE,NULL,NULL,NULL,_T

Image graphics类显示图片的问题
void   CMainWnd::Try_to_open()
{
CFileDialog   FileDlg(TRUE,   NULL,   NULL,   NULL,   _T( "JPG   Files   (*.jpg)|*.jpg|BMP   Files   (*.bmp)|*.bmp|Text   Files   (*.txt)|*.txt|Music   Files   (*.mp3)|*.mp3|All   Files   (*.*)|*.*|| "),   NULL);      
if(IDOK   ==   FileDlg.DoModal())
{
m_cs_path   =   FileDlg.GetPathName();
m_pImage   =   Image::FromFile(m_cs_path);

/*p[0].x   =   0;
*p[0].y   =   0;
*p[1].x   =   800;
*p[1].y   =   0;
*p[2].x   =   0;
*p[2].y   =   600;
*/
InvalidateRect(CRect(0,0,800,800),FALSE);
}
}

void   CMainWnd::OnPaint()
{

//BOOL   bsuccess   =   m_Image.Load(m_cs_path);
CPaintDC   ClientDC(this);  

Graphics   graphics(ClientDC.m_hDC);
if(m_cs_path.GetLength()   !=   0)
{
graphics.DrawImage(m_pImage,0,0,800,600);
}
}
为何m_pImage   =   Image::FromFile(m_cs_path)无法加载图片?
可怜今天只有10分了,昨天系统不给分我,贴子都没有人看,今天只好重发一次。。。。
另外小声问一下,建的是基于对话框的MFC工程,在头文件里如何引入GDI+的函数?


[解决办法]
那是不行的
GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
之後才可以用GDI+的其他功能(包括繪圖、文件讀寫、etc)
你要保存 gdiplusToken這個值 不再使用GDI+的時候 調用
GdiplusShutdown(gdiplusToken);

using namespace之前也要
#include <gdiplus.h>
並且程序要連接到gdiplus.lib

热点排行