Fabricjs文本对象的fontSize单位

art*_*rty 3 fabricjs

在深入研究代码后,我意识到用PIXELS测量fabricjs Text对象的fontSize。在我的项目中,有时我需要使用点而不是像素。

当指定单位时,我在代码中仅找到一个位置,此代码段:

    /**
 * @private
 * @method _getFontDeclaration
 */
_getFontDeclaration: function() {
  return [
    this.fontStyle,
    this.fontWeight,
    this.fontSize + 'px',
    (fabric.isLikelyNode ? ('"' + this.fontFamily + '"') : this.fontFamily)
  ].join(' ');
}
Run Code Online (Sandbox Code Playgroud)

如果我将' px' 替换为' ',我将打破依赖关系(基于此字段的所有度量标准的特定计算)pt吗?

ps:文档中没有关于fabric.Text对象的fontSize单位/度量的信息,最好将其添加以节省时间给其他人...

And*_*zzi 5

最近,添加了“ parseUnit”方法。

您可以如下定义setFontSize函数:

fabric.Text.prototype.setFontSize = function(size) {
  this.fontSize = fabric.util.parseUnit(size);
  return this;
}
Run Code Online (Sandbox Code Playgroud)

在fabricjs中,DPI设置为96(可以更改),并且以这种方式转换“ pt”:

return number * fabric.DPI / 72
Run Code Online (Sandbox Code Playgroud)

这样,您可以使用“ mm”,“ cm”,“ in”,“ pt”,“ pc”,“ em”