3

コードを掘り下げた後、fabricjs Text オブジェクトの fontSize が PIXELS で測定されていることに気付きました。私のプロジェクトでは、ピクセルの代わりにポイントを使用する必要がある場合があります。

単位が指定されているときに、コード内で1か所しか見つかりませんでした。このスニペット:

    /**
 * @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 単位/メトリックに関するドキュメント内の情報はありません。時間を節約するために追加すると便利です...

4

1 に答える 1

5

最近、「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' を使用できます。

于 2015-10-12T22:23:52.770 に答える