Статьи

jQuery Matrix Effects

Вступление

Это классный плагин jQuery, основанный на знаменитом фильме «Матрица». Ну, это довольно просто. Этот плагин имитирует зеленых с эффектами чисел из самого фильма, выбирает изображение, которое превратится в него, и начинает вносить изменения. Вы должны попробовать это, это весело!

jquery-matric-effect

Как это работает?

Когда вы загружаете изображение в холст, можно прочитать пиксели, а затем цвета:

data =  ctx.getImageData(x, y, settings.grainSize, settings.grainSize).data

Самое интересное в том, что можно читать прямоугольники изображения, jQuery использует это для вычисления среднего цвета каждой части изображения. Затем этот цвет будет использоваться символом, который заменит пиксели части изображения.

 //get a portion of image
data = ctx.getImageData(x, y, settings.grainSize, settings.grainSize).data;
var r_avg = 0, g_avg = 0, b_avg = 0;

//sum all channels values
for (var i = 0; i < data.length; i += 4) {
    r_avg += data[i];
    g_avg += data[i + 1];
    b_avg += data[i + 2];
}

//calculate average color for each channel
r_avg = Math.round(r_avg / (data.length / 4));
g_avg = Math.round(g_avg / (data.length / 4));
b_avg = Math.round(b_avg / (data.length / 4));

Он сгенерирует много B-тегов, каждый из которых имеет символ внутри:

 var block = document.createElement("b");
jQuery(matrix_cont).append(block);
var r = image_colors[i].r;
var g = image_colors[i].g;
var b = image_colors[i].b;
block.innerHTML = getChar(r, g, b);
switch (settings.colors) {
    case "bn":
        var gray = Math.round((r + g + b) / 3);
        jQuery(block).css("color", "rgb(" + gray + "," + gray + "," + gray + ")");
        break;
    case "green":
        jQuery(block).css("color", "rgb(0," + g + ",0)");
        break;
    case "all":
    default:
        jQuery(block).css("color", "rgb(" + r + "," + g + "," + b + ")");
        break;
}

Зная персонажей
Первые символы предназначены для темных цветов, а последние — для светлых.

 chars: ['.', '¸', '¹', '`', '*', '_', '°', 'ª', '^', '+', '±', '¢', '®', '"', 'υ',
            '»', '½', '¾', 'h', 'e', '8', 's', 'p', '=', '/', '$', '§', 'ξ', 'u', '6', '9',
            '5', 'y', 'j', 'd', 'q', 'H', 'ç', 'B', 'V', '8', 'Z', 'W', 'S',
            '%', 'e', 'n', 'm', '&', 'à', 'ω', 'Ψ', 'o', '#', 'k', '●', '♦', '♥']

Как пользоваться

Включите эти коды в свой головной тег.

<!--mce:0-->
<!--mce:1-->

И используйте этот, чтобы активировать его.

 $(function () { $("img").matrix(); });

Источник:
http://romanovian.com/blog/jquery-matrix/