【问题标题】:Draw to an Image绘制到图像
【发布时间】:2010-05-19 13:46:37
【问题描述】:

我是 GDI+ 新手,不知道如何绘制图像。 我有一个矩阵(游戏地图)和图块,我可以创建一个图像或位图,然后在其上绘制所有内容,因此我可以像从资源中加载的图像一样使用它。 非常感谢:)

【问题讨论】:

    标签: c++ gdi+


    【解决方案1】:

    听起来您缺少的一点是您在已经创建或加载的位图上创建了 Graphics 对象。例如

    Gdiplus::Bitmap * pDest = new Gdiplus::Bitmap( nWidth, nHeight, 
                                                  PixelFormat32bppRGB );
    Gdiplus::Graphics graphics( pDest );
    

    然后,当您实际在图形对象上绘图时,您就是在位图上绘图。例如

    graphics.DrawImage( pOtherImage, 0, 0, pOtherImage->GetWidth(), 
                       pOtherImage->GetHeight() );
    

    现在你可以随心所欲地操作你的位图了。

    【讨论】:

      【解决方案2】:

      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

      【讨论】:

      • 我知道如何从图像创建图形。但我想在这里做的是绘制一个图像。图像地图; // 绘制瓦片以映射 Graphics graphics(hdc);图形.DrawImage(&map,0,0);
      • 酷,看起来不错。您在将图像绘制到图形对象时遇到问题吗?
      猜你喜欢
      • 2020-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-09
      • 2015-03-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多