2013-10-01 62 views
0

我試圖在Visual C++應用程序中顯示PNG文件。在過去的六到八個小時裏,我一直在嘗試各種方法,在這一點上需要一些幫助。我已經從幾個教程改編了以下幾行。爲什麼不顯示圖像?GDI + DrawImage不會顯示

Gdiplus::Graphics graphics(hdc); 
Gdiplus::Image * image = Gdiplus::Image::FromFile(L"C:\\test.png");  
graphics.DrawImage(image,0,0); 

感謝您的幫助!

+0

或者,如果有更好的推薦方式來顯示PNG文件,那也會很棒! – user44184

+0

你在做什麼? 'hdc'從哪裏來? –

+0

你是否檢查過圖像文件是否正確加載? –

回答

0

在陳述言自明的風險,你有沒有初始化GDI +有:

Gdiplus::GdiplusStartupInput gdiplusStartupInput; 
Gdiplus::GdiplusStartup(&m_gdiplusToken, &gdiplusStartupInput, NULL); 

除此之外,正如其他人所說 - 哪裏是HDC來自和在圖像創建成功?

+0

糟糕 - 沒有意識到這是必要的,所以謝謝陳述這個令人眼花繚亂的明顯:)唯一的問題是圖像不會保留在窗口上。當窗口調整大小時,它會自行重新繪製,但會很快消失。任何想法爲什麼? – user44184

+0

您已經加載的圖像超出範圍,或者DrawImage()不在OnPaint()/ OnDraw()中? – Redeye