【问题标题】:Fabricjs Text object fontSize unitsFabricjs 文本对象 fontSize 单位
【发布时间】:2015-10-13 06:23:52
【问题描述】:

在对代码进行一些挖掘之后,我意识到fabricjs Text 对象的fontSize 是在PIXELS 中测量的。在我的项目中,有时我需要使用点而不是像素。

在指定单位时,我在代码中只找到了一个地方,这个sn-p:

    /**
 * @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 单位/指标的信息,很高兴添加它以节省其他人的时间...

【问题讨论】:

  • 我更新了文档以将“px”指定为字体大小的单位。不支持 pt(或任何其他非 px 单位)是对的。您可以通过在应用程序级别进行转换来解决它。

标签: fabricjs


【解决方案1】:

最近添加了一个“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', 'in', 'pt', 'pc', 'em'

【讨论】:

    猜你喜欢
    • 2013-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-18
    • 2018-08-01
    • 2020-09-01
    • 2017-09-27
    • 2016-03-06
    相关资源
    最近更新 更多