將矩陣電影特效帶入你的網頁!這是一個基於著名電影《黑客帝國》的酷炫jQuery插件。該插件模擬了電影中經典的綠色字符特效,只需選擇一張圖片,插件就會將其轉換為充滿數字字符的矩陣風格畫面。快來試試吧,非常有趣!
工作原理
插件將圖片加載到畫布上,讀取像素和顏色值:
data = ctx.getImageData(x, y, settings.grainSize, settings.grainSize).data
插件巧妙地讀取圖片的矩形區域,並利用jQuery計算每個區域的平均顏色。然後,使用字符替換圖片區域的像素,以實現矩陣特效。
// 获取图片的一部分 data = ctx.getImageData(x, y, settings.grainSize, settings.grainSize).data; var r_avg = 0, g_avg = 0, b_avg = 0; // 计算每个通道的总和 for (var i = 0; i < data.length; i += 4) { r_avg += data[i]; g_avg += data[i + 1]; b_avg += data[i + 2]; } // 计算每个通道的平均颜色 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></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', '●', '♦', '♥']
使用方法
在標籤內添加以下代碼:
使用以下代碼激活插件:
$(function () { $("img").matrix(); });
代碼來源:
https://www.php.cn/link/90e2217cd253377081205243ac24b03a
以上是jQuery矩陣效果的詳細內容。更多資訊請關注PHP中文網其他相關文章!