Canvas 为所有精灵设置画布宽度和文本应用

Canvas 为所有精灵设置画布宽度和文本应用,canvas,three.js,Canvas,Three.js,我正在创建一些精灵,希望为每个画布设置宽度,但宽度适用于所有画布,标签正在缩放 function createSprite(message) { var fontsize = 4; var fontface = "Helvetica"; var canvas = $doc.createElement('canvas'); var context = canvas.getContext('2d'

我正在创建一些精灵,希望为每个画布设置宽度,但宽度适用于所有画布,标签正在缩放

    function createSprite(message) {
            var fontsize = 4;
            var fontface = "Helvetica";
            var canvas = $doc.createElement('canvas');
            var context = canvas.getContext('2d');

            context.font = fontsize + "px " + fontface;
            var textWidth = context.measureText(message).width;

            canvas.width = textWidth
            context.font = fontsize + "px " + fontface;
            context.fillText(message, 0, fontsize);

            var texture = new $wnd.THREE.Texture(canvas)
            texture.minFilter = $wnd.THREE.LinearFilter;
            texture.needsUpdate = true;

            return new $wnd.THREE.SpriteMaterial({
                map: texture,
            });
}
我尝试调用
context.beginPath()
,但它不起作用

我怎样才能修好它


看看这个和它的JSFIDLE。谢谢你的评论。问题不在于精灵的缩放,而是罐子的宽度。那么看看这个吧。