Название: qimage.pixel() и gif Отправлено: wester от Август 08, 2012, 18:42 Доброго времени суток.
Есть статичный gif и код для получения пикселя Код проблема в том, что для gif цвет пикселя не возвращается. Хотя размер картинки возвращается верный. В окно отладки в цикле for пишется QColor(ARGB 1, 0, 0, 0) . С jpg все работает. Пробовал прописать путь к папке плагинов в main.cpp. Пробовал просто кинуть dll (qgifd4.dll + qgifd.dll) в папку exe. Неудача. upd: попробовал на другом gif. Все работает. Прикрепляю картинку, с которой проблема Название: Re: qimage.pixel() и gif Отправлено: LisandreL от Август 08, 2012, 22:03 Видимо альфа-канал неправильно отрабатывается.
То есть как бы картинка вся чёрная, но некоторые пикселы прозрачные, а некоторые нет (что и не отображено). Маска прозрачности, судя по всему, создаётся правильно, так что данные не откинуты при загрузке. Название: Re: qimage.pixel() и gif Отправлено: andrew.k от Август 08, 2012, 23:01 попробуй QColor::fromRgba(image.pixel(i,4));
Название: Re: qimage.pixel() и gif Отправлено: wester от Август 08, 2012, 23:09 andrew.k
Код воспроизводящий ошибку. В первом случае получаю 0, во втором 255 Код Почему так происходит не понял, пересмотрел много тем, но так и не прояснилось LisandreL Спасибо про подсказку про альфа канал! И не думал о подобном. тут решение проблемы http://stackoverflow.com/questions/1549634/qt-qimage-always-saves-transparent-color-as-black И соответственно мой код, решающий проблему Код
|