Название: Замена одного цвета на другой в png файле, средствами Qt Отправлено: OS2 от Март 25, 2011, 15:36 Всем доброго времени суток!
Возникла такая проблема: имеется PNG файл в ресурсах Qt приложения. PNG - цветной, с прозрачностью. Нужно заменить один цвет, скажем: QColor(222,222,222), на другой, скажем: QColor(111,111,111), имеется ли в Qt такая возможность? Подскажите, плиз, буду очень признателен! Название: Re: Замена одного цвета на другой в png файле, средствами Qt Отправлено: merke от Март 25, 2011, 16:01 Не знаю есть ли готовое решение, но если бы я такое не нашел, то обошел бы картинку попиксельно с заменой необходимых цветов.
Название: Re: Замена одного цвета на другой в png файле, средствами Qt Отправлено: GreatSnake от Март 25, 2011, 16:17 Попробуй QImage::colorTable(), QImage::setColorTable().
Название: Re: Замена одного цвета на другой в png файле, средствами Qt Отправлено: OS2 от Март 25, 2011, 18:00 2 GreatSnake
А по подробней можно? Название: Re: Замена одного цвета на другой в png файле, средствами Qt Отправлено: GreatSnake от Март 25, 2011, 18:20 Цитировать А по подробней можно? Как-то так:Код
Название: Re: Замена одного цвета на другой в png файле, средствами Qt Отправлено: OS2 от Март 25, 2011, 19:19 Интересно...у меня img.colorTable() возвращает: 0.
Название: Re: Замена одного цвета на другой в png файле, средствами Qt Отправлено: merke от Март 26, 2011, 06:32 У меня тоже ноль возвращает...
Попробуй вот так: Код
Название: Re: Замена одного цвета на другой в png файле, средствами Qt Отправлено: ufna от Март 28, 2011, 13:40 А оно как бэ и должно ноль возвращать, доки то читаем? :)
Название: Re: Замена одного цвета на другой в png файле, средствами Qt Отправлено: Mashkovd от Март 28, 2011, 14:27 Код: QImage img( "file.png" ); Вот этот вариант не работает? Допустим у меня имеется картинка со сплошным белым цветом RGB(0,0,0) и прозрачным фоном. Я хочу этот цвет каждого белого пикселя поменять на, допустим, красный. Чтобы использовать ColorTable. Мне необходимо добавить в него белый и прозрачный цвет, а затем белый поменять на красный. Так? "Returns a list of the colors contained in the image's color table, or an empty list if the image does not have a color table" Это означает, что по умолчанию для png colortable = 0?? Название: Re: Замена одного цвета на другой в png файле, средствами Qt Отправлено: GreatSnake от Март 28, 2011, 14:35 Цитировать А оно как бэ и должно ноль возвращать, доки то читаем? Это я не проверив ввёл народ в заблуждение :(colorTable() используется только для монохромных и 8-битных форматов. |