Inferno #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 




Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Тема - размышления SIR-X'a о плачевном состоянии дел со спектрумовским софтом.
О разном - О компрессии информации на магнитных носителях.
Лаборатория - ZX-SPECTRUM и операционные системы.

В этот день...   22 сентября