Не может быть никакой разборки/сборки, потому что картинка - это и есть одномерный массив, индексация в котором происходит по двум переменным
image_data_ptr[x + y * width]
Если у вас картинка (массив пикселов) имеет другой тип, то просто приводим его к
char *
, например:
char * _1d_image_data_ptr = (char *) image_data_ptr;