Re: Генерация моносетки
- From
- Valentin Davydov ()
- To
- Dmitriy Shevnin
- Date
- 2002-08-28T20:44:34Z
- Area
- RU.ALGORITHMS
From: Valentin Davydov <val@sqdp.trc-net.co.jp>
> From: Dmitriy Shevnin <Dmitriy.Shevnin@p40.f16.n5056.z2.fidonet.org>
> Date: Mon, 26 Aug 2002 19:26:20 +0400
>
> Ищется способ сабжа замены оттенков серого: дан монотонный серый
>прямоугольник, его надо представить ввиде чередующихся белых и черных точек,
>чтобы они передавали именно заданную серость.
Это ты про dithering, что ли? Простейший алгоритм, применяемый обычно
в виндах, такой: для каждой точки берёшь сумму её координат. Затем -
переворачиваешь полученое двоичное число, то есть младший бит делаешь
старшим. Таким образом, из целого двоичного числа у тебя получается
вещественное, меньшее единицы. Если величина этого числа меньше требуемого
уровня серости, закрашиваешь данную точку белым, если больше - чёрным.
Более сложный алгоритм Флойда-Штейнберга, или "error diffusion", излагать не
буду, ибо всё равно им проще пользоваться в виде таблицы, заданной на
достаточно широкой сетке.
Вал. Дав.
--- ifmail v.2.15dev5
* Origin: Demos online service (2:5020/400)