【发布时间】:2020-06-09 21:26:50
【问题描述】:
我正在寻找创建一个文本图像(图像中的多个字符组成一个单词),例如具有矩阵影响的画布内的单词“The Matrix”。我遇到的问题是在画布内显示文本,然后具有类似的闪烁或级联效果以形成单词。到目前为止,这是我对画布所做的,没有文本图像。
var c = document.getElementById("c"),
ctx = c.getContext("2d");
c.height = window.innerHeight, c.width = window.innerWidth;
var matrix = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ123456789@#$%^&*()*&^%+-/~{[|`]}";
matrix = matrix.split("");
for (var font_size = 10, columns = c.width / font_size, drops = [], x = 0; x < columns; x++) drops[x] = 1;
function draw() {
ctx.fillStyle = "rgba(0, 0, 0, 0.08)", ctx.fillRect(0, 0, c.width, c.height), ctx.fillStyle = "#0f0", ctx.font = font_size + "px courier";
for (var t = 0; t < drops.length; t++) {
var i = matrix[Math.floor(Math.random() * matrix.length)];
ctx.fillText(i, t * font_size, drops[t] * font_size), drops[t] * font_size > c.height && Math.random() > .975 && (drops[t] = 0), drops[t]++
}
}
setInterval(draw, 15);
<div class="width:50%;height:25vh;background:#000;position:relative;">
<canvas id="c" style="width:90%;height:75%;position:absolute;z-index:0;"></canvas>
</div>
【问题讨论】:
标签: javascript html css web canvas