Как конвертировать графику под цвет на точку
by Alone Coder
Тут прозвучал вопрос, как конвертировать графику в "EGA"-режим
ATM Turbo.
Если нужна просто фотография с dithering'ом:
1. В фотошопе подкручиваем яркость/контраст/цветность повкуснее.
2. Конвертим в адаптивную палитру ~30 цветов. Но не применяем
эту палитру. Наоборот, лезем вручную её исправлять.
3. Каждый цвет вручную подводим к АТМ'ным цветам (т.е. с
составляющими 0/85/170/255 - по измерениямLVDтам должны быть
0/93/162/255, но я не уверен, что авторы ATM Turbo хотели именно
эти значения; впрочем, разница незначительная). Если есть
варианты, куда округлить - делаем пару вариантов цвета (всё
равно в палитре будет много совпадающих).
4. Смотрим, сколько разных цветов получилось (применить,
перевести в RGB, выбрать "точную" палитру). Если меньше 16, то
добавляем варианты цветов. Если больше, то убираем редкие
оттенки (если их можно передать с помощью штриховки другими
цветами).
5. Применяем палитру. Dithering можно покрутить от 30% до 100%.
6. Переводим опять в RGB.
7. Конвертим в "точную" палитру - уже в ровно 16 цветов.
8. Сохраняем в 4-битный BMP.
В процессе подбора палитры можно периодически сохранять палитру,
применять, отменять результат...
Hippiman предлагает следующий вариант:
───────────────────────────────────────────────────────────────┐
Нужно плавно сократить количество цветов в изображении до
минимального. Лучше всего это делать в несколько шагов.
Сначала экспериментальным путём нужно конвертировать изображение
к адаптивной палитре без сильной потери качества. Обычно это
примерно 60-70 цветов.
Далее нужно "слить вместе" похожие цвета, по возможности
подгоняя их к ATM палитре. Стараемся избавляться от маленьких
областей редко встречающихся цветов.
Потом переводим в RGB и повторяем процедуру несколько раз, пока
не останется примерно 30 цветов.
───────────────────────────────────────────────────────────────┘
Если нужно конвертить рисованную графику (как в Nedodemo 2 ), то
возни побольше. Надо перебрать вручную несколько вариантов
последовательностей цветов взамен каждого из цветопереходов
оригинальной палитры. Иногда приходится пожертвовать
одним-другим цветом (слить его с соседним). Если нужна 50%
штриховка, то сначала переводим картинку в ~30 цветов с
составляющими 0/42/85/128/170/212/255, потом ищем АТМ'ную
палитру, с помощью которой можно наштриховать нужные цвета, а
потом каждое цветовое поле вручную переводим в штриховку (все
вместе нельзя - чёткая 50% штриховка не получается). Я не нашёл
более быстрого способа, чем копирование выделенного цветового
поля на другой документ (изначально белый), выставление
3-цветной палитры (белый цвет плюс два цвета, между которыми
точно ложится заданный) и конверсия со штриховкой diamond. Потом
обратно копируем что получилось на исходный документ.
Конвертировать в палитруDDp (RЧGЧB4) легче - просто переводим в
адаптивную палитру и сохраняем. При отрезании младших битов
цвета особой разницы не будет. В случае чего можно в процессе
конверсии в адаптивную палитру вручную округлить составляющие
цвета, потом применить палитру.
СофтDiHalt Visitors для пакетной конверсии BMP в
упакованные дампы памяти выложен здесь:
http://alonecoder.nedopc.com/zx/convega.rar
Кстати, есть специальная программа отTmK, которая конвертирует
в два мерцающих экрана цвет на точку. Но она не умеет подбирать
палитру
Other articles: