Добрый день. Можно ли и как в памяти манипулировать глубиной цвета. (имею ввиду такой простой пример - выбираем путь к GIF-файлу, он отображается в окне нашей программы, а сбоку есть ряд радиобаттонов [1-8], чтобы выбирать глубину цвета для рисунка. Я плохо ориентируюсь в формате GIF. Это верно, что он может показывать только 8 разных глубин цветов ? Буду благодарен за ответы.
Вопрос в заголовке очень криво сформулирован. GIF это "кодированный" формат рисунка. Для его вывода на экран нужна программа - аппаратно он не выводится. Реально выводятся пиксели из видео-памяти. При выводе можно многим манипулировать, но к GIF это никакого отношения не имеет. Есть какая-то модификация формата GIF, там вроде больше цветов можно задавать. Можно конечно сделать программу, которая на лету будет выводить меняющийся в памяти GIF, но нафига ?
Последний вопрос к чему : если вы собирались съэкономить на "распаковке", то не получится - изменение палитры/глубины в "памяти GIF" никак не отразится на картинке. А если переносить изменения только "в цвета", то их без всякого GIF можно делать.
1) открыл и записал GIF-файл в память. 2) теперь мне нужно вывести его в окно программы, НО вывести в одной из палитр цветов (так как спецификация формата позволяет). КАК это сделать ? GDI+ ?
Я про GDI+ только сегодня прочел, но если я правильно понял, то на основе GIF создается bitmap и все манипуляции делаются с ним. Про палитру не понял - в GIF она одна вроде. Ты же пойми - формат GIF создавался во времена 256 цветов и все что он поддерживает умерло уже(в том числе и палитры). Ну кроме анимированных GIF, т.к. по объему и качеству они превосходят все остальные видео-форматы, но только для мини-роликов.
Просто ты путаешь формат GIF, как формат файла, и формат GIF c полной спецификацией устаревших возможностей визуализации.