11:35
Дизеринг паттерном — Лисья нора
§ Матрица дизеринга
Матрица 8x8§ Вычисление
Каждый цветовой компонент рассчитывается путем вычисления формулы:new_clrgb = old_clrgb + k*(lookup[y & 7][x & 7] - m);
- m = 32 (зависит от разрядности, здесь 8*8/2=32)
- k = коэффициент размаха, например k=4 будет выдавать -128..127
- old_cl = старый цвет от 0 до 255 (к примеру)
- new_cl = полученный цвет
Можно сделать проще, если это черно-белая картинка:
- index_cl = 0, если new_cl < 128
- indec_cl = 1, если new_cl >= 128
§ Пример программы

§ Цветной вариант
' --- r = y \ 2 MOD 256 g = y \ 2 MOD 256 b = 255 ' --- clr = (pat(x MOD 8, y MOD 8) - 32) * k + r clg = (pat(x MOD 8, y MOD 8) - 32) * k + g clb = (pat(x MOD 8, y MOD 8) - 32) * k + b IF clr > 128 THEN r = 1 ELSE r = 0 IF clg > 128 THEN g = 1 ELSE g = 0 IF clb > 128 THEN b = 1 ELSE b = 0 PSET (x, y), 8 + (b + g * 2 + r * 4) ......
