在深入研究代码后,我意识到用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单位/度量的信息,最好将其添加以节省时间给其他人...
最近,添加了“ 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”