【发布时间】:2010-05-19 13:46:37
【问题描述】:
我是 GDI+ 新手,不知道如何绘制图像。 我有一个矩阵(游戏地图)和图块,我可以创建一个图像或位图,然后在其上绘制所有内容,因此我可以像从资源中加载的图像一样使用它。 非常感谢:)
【问题讨论】:
我是 GDI+ 新手,不知道如何绘制图像。 我有一个矩阵(游戏地图)和图块,我可以创建一个图像或位图,然后在其上绘制所有内容,因此我可以像从资源中加载的图像一样使用它。 非常感谢:)
【问题讨论】:
听起来您缺少的一点是您在已经创建或加载的位图上创建了 Graphics 对象。例如
Gdiplus::Bitmap * pDest = new Gdiplus::Bitmap( nWidth, nHeight,
PixelFormat32bppRGB );
Gdiplus::Graphics graphics( pDest );
然后,当您实际在图形对象上绘图时,您就是在位图上绘图。例如
graphics.DrawImage( pOtherImage, 0, 0, pOtherImage->GetWidth(),
pOtherImage->GetHeight() );
现在你可以随心所欲地操作你的位图了。
【讨论】:
GDI+ 绘图方法适用于 Graphics 类的实例,您可以从图像创建 Graphics 的实例。然后对该对象进行绘图操作,该对象将绘制到您的图像上。
见http://msdn.microsoft.com/en-us/library/5y289054.aspx - 它没有 C++ 示例,但代码应该很容易翻译。
还有关于如何从 Image 创建实例的 C++ Graphics 类参考 http://msdn.microsoft.com/en-us/library/ms536159(v=VS.85).aspx
【讨论】: