Я пытался сделать это в течение нескольких дней. У Google нигде не было ответов.
Проблема в том, что мне нужно передать тип изображения в качестве параметра в 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);
Любая помощь с благодарностью.
Благодарю.
поскольку Bitmap
наследуется от Image
, Мне непонятно, зачем вам нужны какие-либо комментарии. Вместо этого просто используйте &bmpTestingIt
вместо &image
, Просто убедитесь, что вы строительство Bitmap
правильно (что должно сводиться к прохождению HPALETTE
если это не зависящее от устройства растровое изображение; если это DIB, ты в порядке).