Как мне получить альфа-значение пикселя с помощью libpng. Значения пикселей хранятся в формате int a std::vector<std::vector<uint8_t>>. Значения RGB декодируются правильно, но иногда значение альфа составляет 255! Я думал, что значение альфа должно быть между 0 и 1. Спасибо!
std::vector<std::vector<uint8_t>>
Этот комментарий Бенни К. решил мою проблему: как значения RGB, так и альфа обычно являются 8-битными значениями, означающими целые числа от 0 до 255, где 255 равно 1,0 или 100%.
Требуется несколько шагов: Поэтому проверьте с помощью «png_get_IHDR», является ли это таким изображением. Затем прочтите в четыре раза ширину каждой линии, и вы получите значение альфа в четвертом пикселе.