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