Russian Qt Forum
Сентябрь 25, 2024, 14:23 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: qjpeghandler  (Прочитано 3239 раз)
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« : Апрель 01, 2010, 15:45 »

во время написания 1го имадж плагина выяснилось, что жпег хэндлер неявно преобразует АРГБ изображение в РГБ:
Код:
        switch (image.format()) {
        case QImage::Format_Mono:
        case QImage::Format_MonoLSB:
        case QImage::Format_Indexed8:
            gray = true;
            for (int i = image.colorCount(); gray && i--;) {
                gray = gray & (qRed(cmap[i]) == qGreen(cmap[i]) &&
                               qRed(cmap[i]) == qBlue(cmap[i]));
            }
            cinfo.input_components = gray ? 1 : 3;
            cinfo.in_color_space = gray ? JCS_GRAYSCALE : JCS_RGB;
            break;
        default:
            cinfo.input_components = 3;
            cinfo.in_color_space = JCS_RGB;
        }
мне же было необходимо
Код:
            cinfo.input_components = 4;
            cinfo.in_color_space = JCS_UNKNOWN;
и при этом сохранять 4 компоненты цвета. Пофиксил это добавлением в свитч проверки на то что имадж в формате ARGB и соотвественно поправил запись. Кто прав - qjpeghandler или я ?
« Последнее редактирование: Апрель 01, 2010, 15:47 от Авварон » Записан
crackedmind
Гость
« Ответ #1 : Апрель 02, 2010, 01:28 »

Вообще-то, Jpeg не поддерживает alpha-канал.
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #2 : Апрель 03, 2010, 13:23 »

ну гугл говорит тоже самое... Придется написать свое сохранение этого псевдожпега...
Записан
ufna
Гость
« Ответ #3 : Апрель 03, 2010, 20:17 »

а зачем тогда псевдожпег? чем пнг не угодил?
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3260


Просмотр профиля
« Ответ #4 : Апрель 04, 2010, 09:24 »

затем что формат содержит псевдожпег(и)+свой хедер
в описании оного ничего про кривость жпега не сказано...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 23.