我一直试图这样做几天。谷歌在任何地方都没有答案。
问题是我需要将Image类型作为TextureBrush中的参数传递。我只有一个HBITMAP。我看了很多可能性而没有成功。
这就是我所拥有的:
// change my HBITMAP to GDI+ BITMAP
Bitmap bmpTestingIt(hbmBGTiles, NULL);
Graphics g(buffer.getBufferDC());
//Image image(L"C:/Users/Owner/Pictures/testbmp.bmp"); // This works but not what I need
//Image image(bmpTestingIt); // No
//Image image((Image)bmpTestingIt); // No
Rect rct(0, 0, bmpTestingIt.GetWidth(), bmpTestingIt.GetHeight());
TextureBrush brush(&image, rct);
g.FillRectangle(&brush, 0, 0, WINDOW_WIDTH, WINDOW_HEIGHT);
非常感谢任何帮助。
感谢。
答案 0 :(得分:1)
自Bitmap
inherits from Image
以来,我不清楚为什么需要任何评论行。相反,只需使用&bmpTestingIt
代替&image
。只需确保Bitmap
正确constructing HPALETTE
如果它不是与设备无关的位图,则应归结为{{1}};如果是DIB,你很好。