0

テキスト オブジェクトの実際のテキストの高さを取得できません。

var btnText = new Kinetic.Text({
        x: xTracker,
        y: headerY,
        fill: '#a2b1c3',
        text: buttonText,
        width: buttonWidth,
        fontSize: 40,
        fontFamily: 'impact',
        align: 'center'
    });

以下のメソッドはすべて同じ数値 40 を返しますが、これはテキストの実際の高さではありません。

btnText.getHeight();
btnText.getTextHeight();
btnText._getTextSize().height;

デバッグの目的で、次の Rect を追加してテキスト領域を表示しました

var tmp = new Kinetic.Rect({            
            x: btnText.getPosition().x,
            y: btnText.getPosition().y,
            fill: 'rgba(0,0,0,0.3)',
            width: btnText.getWidth(),
            height: btnText.getHeight()
        });

結果は次のとおりです。

ここに画像の説明を入力

灰色のボックス (テキスト領域) が実際のテキストよりも大きいことがわかります。領域内の実際のテキスト サイズが必要です。

4

1 に答える 1

0

使える:

var metrics = context.measureText(label);
于 2013-04-13T05:02:58.447 に答える