Когда я открываю файл png:
CImg<unsigned char> image("image.png");
... Я ожидаю получить 4-канальное (RGBA) изображение. Но вместо этого я всегда получаю 3-канальное (RGB) изображение (даже если изображение полупрозрачное): image.spectrum() возвращает 3 вместо 4.
В моем приложении мне всегда нужно получить 4 канала, когда я открываю файл PNG. CImg выглядит как популярная библиотека с множеством полезных функций (некоторые из которых могут быть полезны в будущем в моем приложении для обработки изображений), поэтому мне трудно поверить, что невозможно открыть файл PNG с альфа-каналом, не потеряв его. Какие-либо предложения?
Если CImg не очень хороший инструмент для работы с файлами PNG, не стесняйтесь предложить какую-нибудь другую простую в использовании библиотеку. На данный момент для меня важна только возможность читать и записывать PNG как 4-канальное беззнаковое символьное изображение и иметь функции для получения размеров и данных изображения (например, image.width() или image.data() ).