使用包node-canvas
,我需要呈现一个用户名——一个可能相当大的用户名。我需要确保文本可以动态缩放它的大小以适应预定义的图像,这样名称就不会被截断,它只会变得更小,以便可以呈现更多字符。我曾考虑使用 jimp 和 sharp,但找不到最佳结果。
谢谢。
使用包node-canvas
,我需要呈现一个用户名——一个可能相当大的用户名。我需要确保文本可以动态缩放它的大小以适应预定义的图像,这样名称就不会被截断,它只会变得更小,以便可以呈现更多字符。我曾考虑使用 jimp 和 sharp,但找不到最佳结果。
谢谢。
这是在 Javascript 中显示文本的方法canvas
:
var canvas = document.getElementById("myCanvas");
var ctx = canvas.getContext("2d");
ctx.font = "30px Arial";
ctx.fillText("Hello World", 10, 50);
您可以将字体设置为:
ctx.font = "30px Arial";
从严格的技术角度来看,这就是您所需要的。但是,由于您有大小限制,因此您需要遵守一些边界限制。要查看适合什么尺寸,您可以使用measureText。您也可以使用width
和height
属性获取画布尺寸。因此,如果您要自己实现这一点,您将不得不尝试边界、大小和字体,直到您对结果感到满意为止。