как изменить порядок stb_image RGBA на ARGB?

#cairo #stb-image

Вопрос:

я использую stb_image для чтения данных изображения, у меня возникли проблемы с упорядочением каналов передачи данных изображения.

Как видно из этой библиотеки, они определяют перечисление, как показано ниже, но никогда не используют.

 enum {
    STBI_ORDER_RGB,
    STBI_ORDER_BGR
};
 

По умолчанию все выходные данные имеют порядок RGB. Но моя цель-использовать эти данные для рендеринга на поверхности Каира, нужно, как показано ниже:

 p = (alpha << 24) | (red << 16) | (green << 8) | (blue << 0);
 

Могу ли я найти новую библиотеку stb_image или мне нужно обратиться к другому методу?
Спасибо.