Я создаю кисть, используя CreatePatternBrush с растровым изображением, созданным с помощью CreateBitmap.
Растровое изображение имеет ширину 1 пиксель и высоту 24 пикселя, у меня есть значение RGB для каждого пикселя, поэтому я создаю массив rgbquadsи передать его в CreateBitmap.
Это прекрасно работает, когда глубина цвета экрана составляет 32 бита на пиксель, поскольку создаваемое растровое изображение также составляет 32 бита на пиксель.
Когда глубина цвета экрана не равна 32 бита на пиксель, это не получается,и я понимаю, почему это так, поскольку вместо этого я должен создать совместимое растровое изображение.
Похоже, что вместо этого я должен использовать CreateCompatibleBitmap, но как мне поместить имеющиеся у меня пиксельные данные в это растровое изображение?
Я также читал о CreateDIBPatternBrushPt, CreateDIBitmap, CreateDIBSection и т.д.растровое изображение с той же глубиной цвета, что и на экране, но как мне создать его, используя только пиксельные данные 32bpp?