我正在创建一个应用程序,让您可以在网络上预览字体,就像myfonts一样。有谁知道他们是怎么做到这么快的?
我的方法是使用 HTML5 Canvas 和一些 Javascript 生成字体预览。这是在服务器端使用 PHP GD 库或 Imageick 生成图像的替代方法。
然而,尽管使用 HTML5 画布使事情变得快速,并且所有处理都在客户端。我无法隐藏我加载的字体,因为我必须使用 font-face 来加载字体:
@font-face {
font-family: 'Press Start 2P';
src: url('fonts/PressStart2P.ttf');
}
并使用 JS 渲染到画布上:
$('#draw').click(function () {
var canvas = $('canvas')[0],
ctx = canvas.getContext('2d');
ctx.font = '12px "Press Start 2P"';
ctx.fillStyle = '#000';
ctx.fillText('Hello, world!', x, y += 20);
ctx.fillRect(x - 20, y - 10, 10, 10);
});
关于如何将字体路径保密或任何其他快速生成图像的替代方法的任何想法。我需要非常频繁地在每个页面上生成大约 40 多个图像。