Fabricjs Text对象的fontSize单位

时间:2013-02-05 15:22:55

标签: 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(' ');
}

如果我只是将“px”替换为“pt”,我会破坏依赖项(基于此字段的任何指标特定计算)

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

1 个答案:

答案 0 :(得分:5)

最近a" parseUnit"方法已被添加。

您可以按如下方式定义setFontSize函数:

fabric.Text.prototype.setFontSize = function(size) {
  this.fontSize = fabric.util.parseUnit(size);
  return this;
}

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

return number * fabric.DPI / 72

通过这种方式,您可以使用' mm' cm,'''''' pc& #39;,' em'