У меня есть некоторое выделенное пространство в памяти, содержащее данные растрового изображения.Это 1 бит на пиксель, поэтому самый старший бит первого байта соответствует статусу первого пикселя верхнего левого угла (включен или выключен).
Размеры изображения 256x224, и я отображаю его в окне с помощьюиспользуя функцию StretchDIBits API Win32 следующим образом:
StretchDIBits(
dc,
0, 0, 224, 256, // Destination (x, y, w, h)
0, 0, 224, 256, // Source (x, y, w, h)
imageData,
bmInfo,
DIB_RGB_COLORS,
SRCCOPY
);
Я пытаюсь выяснить, как я могу повернуть эти данные изображения по часовой стрелке на 90 градусов.Кажется, что было бы проще, если бы размеры были равны с обеих сторон (если изображение было квадратным), но это не так.не просто перемещать байты, и нужно фактически перемещать биты индивидуально.Я не могу понять, как бы я это сделал, и достаточно эффективно, поскольку функция, реализующая это, должна была бы запускаться 60 раз в секунду.