Info Guide
#08
30 ноября 2005 |
|
Sofтинка - Улучшения конвертора графики в Gigascreen.
Конверсия в img (часть 2) Конвертор, опубликованный в предыдущем номере,удалось доработать. Исходник я при─ лагать не буду, а выпущу программу отдель─ но;однако сообщу,что всё-таки изменилось и зачем. Во-первых, скорость конверсии, которая, в принципе, уже была приличная, стала ещё более приличной - например,конверсия в img ускорена где-то в 3 раза. Этого удалось достичь следующим путём. Перед поиском лу─ чшей палитры для конкретного знакоместа производится вычисление среднего цвета этого знакоместа. Далее в цикле поиска па─ литры вычисляется средний цвет палитры (это очень просто). Далее вычисляется раз─ ница между тем и другим.Если она превышает заданный порог (квадрат расстояния больше min/32, где min = сумма квадратов ошибок представления пикселов палитрой предыдущей строки), данная палитра отвергается. Хотя это и не очевидно, но на качестве картинки в худшую сторону новый метод не отражает─ ся. Более того,алгоритмы теперь целочислен─ ные! На данном этапе уже можно перенести конвертор на ZX! Во-вторых, исправлены формулы проециро─ вания текущего цвета на текущую палитру. Теперь это действительно геометрическое проецирование. Точность передачи цветов в режиме чанковой штриховки, соответственно, улучшилось. А чанковой штриховкой покрыта весьма большая доля площади каждой картин─ ки в журнале (напоминаю: в моём конверторе можно выбирать кисточкой,какие области бу─ дут чанковые,а какие - флойдовые). Цвета в чанковой штриховке всё-таки не совсем со─ ответствуют цветам во флойдовой. Это не глюк, но с этим нужно детально разобраться - почему оно так и зачем это может приго─ диться на практике. При конверсии в мультиколор (если кому- то это ещё надо) предпроецирование следует выключать, иначе не работает механизм пои─ ска среднего цвета (который давал такие милые полосочки). В-третьих, появилась возможность перед конверсией знакоместа заранее спроециро─ вать все его точки на найденную "лучшую" палитру (в прошлом номере я уже объяснял, что она не такая уж и лучшая).Это наконец- то позволило убрать видимые границы знако─ мест, которые наблюдались даже тогда,когда соседние знакоместа имели одинаковую пали─ тру! Впрочем,следует учесть,что при низком уровне dithering границы знакомест всё-та─ ки будут проглядываться (за счёт распрост─ ранения ошибки, которое и даёт правильный средний цвет), но,конечно,не настолько яв─ но, как раньше. Заодно запрещены палитры, в которых все 4 цвета лежат на одной линии (исключение - серая палитра). Это тоже, как оказалось, не ухудшило качество. В-четвёртых, добавлена конверсия 6912 и GIGA в ch$. Пока без задания размеров; тем не менее, из нескольких ch$ легче склеить один большой, чем из нескольких scr или img. О формате ch$ читайте в статье про 384x304 viewer. На данный момент аналогов моему конвер─ тору по качеству конверсии в img не сущес─ твует.Вероятно, Baze/3SC написал приличный конвертор, но не распространил его. Alone Coder
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября