GDI + C ++ Texture Brush Pattern из растрового изображения

Я пытался сделать это в течение нескольких дней. У 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);

Любая помощь с благодарностью.

Благодарю.

0

Решение

поскольку Bitmap наследуется от Image , Мне непонятно, зачем вам нужны какие-либо комментарии. Вместо этого просто используйте &bmpTestingIt вместо &image, Просто убедитесь, что вы строительство Bitmap правильно (что должно сводиться к прохождению HPALETTE если это не зависящее от устройства растровое изображение; если это DIB, ты в порядке).

1

Другие решения


По вопросам рекламы [email protected]