Главная страница


ru.algorithms

 
 - RU.ALGORITHMS ----------------------------------------------------------------
 From : Sergey Andrianov                     2:5017/13.40   09 Aug 2001  20:25:59
 To : Alex Astafiev
 Subject : 24bit -> 256 color
 -------------------------------------------------------------------------------- 
 
 
  Hедавно, Втp Июл 10 2001 в 15:10, некто Alex Astafiev
  писал Sergey Andrianov по поводy 24bit -> 256 color :
 
  AA> []
  AM>>> вывести на экран в видеомоде с палитрой в 256 цветов. Или
  AM>>> сконвертить в файл с палитрой. Гголову ломал долго, так и не
  AM>>> придумал как, чтобы быстро работало.
  SA>> Чтобы быстро - как раз элементарно.
 
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^(1)
 
  SA>> 1. Устанавливаешь палитру, которая... впрочем, думаю, из
  SA>> дальнейшего уже очевидно, как ее строить.
  SA>> 2. Из зеленого цвета берешь три старших бита и записываешь их
  SA>> в биты D7-D5.   3. Из красного берешь три старших бита и
  SA>> записываешь их в D4-D2.   4. Из синего - два в D1-D0.   5.
  SA>> Записываешь байт в текущую точку на экране.
 
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^(2)
 
  SA>>   А вот чтобы
  SA>> _качественно_, тут следует и репу почесать, только заведомо, что
  SA>> быстро не получится.
 
       ^^^^^^^^^^^^^^^^^^^^^^^^(3)
 
  AA> []
 
  AA> Выполнять pattern dithering тоже не сильно долго. ;)
 
  AA> Суть в том что у тебя есть таблица из 0..64 паттернов. Паттерн - блок
  AA> 8x8 точек. Когда ты выполняешь trunc цвета (как это описано сверху),
  AA> то старшие биты aka уходят в цвет, а младшие биты aka используешь как
  AA> индекс паттерна. Т.е. паттерн от 0..64 дает тебе как бы дополнительные
  AA> уровни яркости для смешения цвета. Реально таблица петтернов занимает
  AA> 8*65 байт.
 
  AA> {обьяснение несколько сумбурное, но, надеюсь, понятно о чем я}
 
  AA> Паттерны эти лучше всего спросить в ZX.SPECTRUM у любого демомейкера,
  AA> кто chunks на спектруме делал. Они в последнее время только это и
  AA> делают :)))) Либо сидеть с Softice над Windows...
 
    Pattern dithering имеет преимущество, если необходимо реализовать PutPixel,
 т.к. цвет определенной точки не зависит от окружающих. Hо, естественно, это
 ценой значительного уходшения качества, как с точки зрения цветопередачи, так и 
 пространственного разрешения.
    Поэтому при обрабтке изображения полностью (а не рисовании по точкам) все
 преимущества на стороне описанного выше алгоритма. По скорости он также не
 сильно отличается от patern dithering.
 
  AA> Что касаемо скорости - суди сам, Sinclair ZX Spectrum делает это в
  AA> real-time. Windows это тоже делает в realtime, если экран физически
  AA> 256 цветов.
 
    У меня (1) и (2) относятся к одному и тому же - быстрому выводу. А для
 качественного нужен подбор палитры. И, думаю, львиную долю времени займет именно
 формирование палитры, а не сам dithering. Хотя и сам dithering по
 оптимизированной палитре будет осуществляться порядка на два медленнее, чем по
 синтетической из-за необходимости просматривать всю палитру для каждой точки.
 
                                     Hе прощаюсь
                                             Sergey
 
 --- ---  Да будет свет !  ---
  * Origin: Sergiev Posad <Ferma> Sergey Andrianov (2:5017/13.40)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 24bit -> 256 color   Anton Morozov   18 Jun 2001 13:22:24 
 Re: 24bit -> 256 color   Andrzej Novosiolov   29 Jun 2001 18:07:16 
 24bit -> 256 color   Sergey Andrianov   30 Jun 2001 21:20:04 
 24bit -> 256 color   Daniel Kamperov   09 Jul 2001 00:00:54 
 24bit -> 256 color   Stanislav Shwartsman   09 Jul 2001 21:14:51 
 Re: 24bit -> 256 color   Alexandr Elistratov   11 Jul 2001 04:33:36 
 24bit -> 256 color   Sergey Andrianov   13 Jul 2001 11:42:13 
 24bit -> 256 color   Sergey Andrianov   13 Jul 2001 11:40:56 
 24bit -> 256 color   Daniel Kamperov   17 Jul 2001 09:48:14 
 24bit -> 256 color   Sergey Shopin   18 Jul 2001 11:19:11 
 Re: 24bit -> 256 color   tim@smile.nsu.ru   01 Aug 2001 15:57:40 
 24bit -> 256 color   Alex Astafiev   10 Jul 2001 15:10:10 
 24bit -> 256 color   Sergey Andrianov   09 Aug 2001 20:25:59 
Архивное /ru.algorithms/32743b72f5d7.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional