【问题标题】:GDI+ DrawImage won't displayGDI+ DrawImage 不会显示
【发布时间】:2013-10-01 20:37:56
【问题描述】:

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

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

感谢您的帮助!

【问题讨论】:

  • 或者,如果有更好的推荐方式来显示 PNG 文件,那就太好了!
  • 你在哪里做这个? hdc来自哪里?
  • 您检查过图片文件加载正确吗?

标签: visual-c++ visual-studio-2012 gdi+


【解决方案1】:

冒着陈述令人眼花缭乱的风险,您是否使用以下命令初始化了 GDI+:

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

除此之外,正如其他人所说 - hdc 来自哪里,图像是否成功创建?

【讨论】:

  • 哎呀 - 没有意识到这是必要的,所以感谢您陈述令人眼花缭乱的明显:) 唯一剩下的问题是图像不会保留在窗口上。当窗口调整大小时,它会重新绘制自己,但很快就会消失。关于为什么的任何想法?
  • 您加载的图像超出范围,或者 DrawImage() 不在您的 OnPaint()/OnDraw() 中?
猜你喜欢
  • 2014-04-03
  • 1970-01-01
  • 2011-12-03
  • 2010-09-20
  • 2022-01-26
  • 1970-01-01
  • 2018-12-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多