Я работаю с массивом RGBA 1D, который выглядит следующим образом:
pixelArray =[0,0,0,255,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255];
Чему соответствует этот pixelArray, когда нарисовано 2 черных пикселя и 4 белых пикселя:
BB
WW
WW
Моя цель состоит в том, чтобы повернуть порядок пикселей внутри массива, чтобы изображение при рисовании выглядело как
BWW or WWB
BWW WWB
Что означает, что мне нужно преобразовать pixelArray в
rotatedPixelArray = [0,0,0,255,255,255,255,255,255,255,255,255,0,0,0,255,255,255,255,255,255,255,255,255]
Приведенный выше пример - это просто пример.Фактическая rgba может представлять любое изображение и иметь длину более 1 миллиона.Я пробовал различные алгоритмы , такие как , и преобразовывал их в двумерный массив, а затем вращал и выравнивал (что работает), но я хотел бы избежать этого, потому что скорость / память - это проблема.