Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual c++ GDI+;DrawImage赢得';t显示_Visual C++_Visual Studio 2012_Gdi+ - Fatal编程技术网

Visual c++ GDI+;DrawImage赢得';t显示

Visual c++ GDI+;DrawImage赢得';t显示,visual-c++,visual-studio-2012,gdi+,Visual C++,Visual Studio 2012,Gdi+,我试图在VisualC++应用程序中显示PNG文件。在过去的六八个小时里,我一直在尝试各种各样的方法,现在需要一些帮助。我从几个教程中改编了以下几行。为什么图像不显示 Gdiplus::Graphics graphics(hdc); Gdiplus::Image * image = Gdiplus::Image::FromFile(L"C:\\test.png"); graphics.DrawImage(image,0,0); 谢谢你的帮助 冒着声明显而易见的风险,您是否已使用以

我试图在VisualC++应用程序中显示PNG文件。在过去的六八个小时里,我一直在尝试各种各样的方法,现在需要一些帮助。我从几个教程中改编了以下几行。为什么图像不显示

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

谢谢你的帮助

冒着声明显而易见的风险,您是否已使用以下方法初始化GDI+:

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

除此之外,正如其他人所说,hdc从何而来,图像创建成功了吗?

或者,如果有更好的方法来显示PNG文件,那也太好了!你在哪里做这个?
hdc
从何而来?你检查过图像文件是否正确加载了吗?哎呀,我没有意识到这是必要的,所以感谢你说了一个非常明显的问题:)剩下的唯一问题是图像不能在窗口中持久存在。当窗口调整大小时,它会重新绘制自身,但很快就会消失。你知道为什么吗?要么你加载的图像超出了范围,要么你的OnPaint()/OnDraw()中没有DrawImage()?