| パッケージ | flash.text |
| クラス | public class TextLineMetrics |
| 継承 | TextLineMetrics Object |
| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
flash.text.TextField.getLineMetrics() メソッドによって返されます。
テキストの行を含むテキストフィールドに関する測定(例えば、次の図の「テキストフィールドの高さ」の測定など)については、flash.text.TextField を参照してください。
次の図に、テキストフィールドおよびフィールドに含まれるテキストの行のポイントと測定を示します。
関連する API エレメント
| プロパティ | 定義元 | ||
|---|---|---|---|
| ascent : Number
テキストの ascent 値は、行のベースラインから最上部までの距離です(ピクセル単位)。 | TextLineMetrics | ||
![]() | constructor : Object
指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクター関数への参照です。 | Object | |
| descent : Number
テキストの descent 値は、行のベースラインから最下部までの距離です(ピクセル単位)。 | TextLineMetrics | ||
| height : Number
選択されている行のテキスト(テキスト全体とは限りません)の高さの値です(ピクセル単位)。 | TextLineMetrics | ||
| leading : Number
leading 値は、テキストの行間の垂直距離を測定した結果です。 | TextLineMetrics | ||
| width : Number
width の値は、選択されている行のテキスト(テキスト全体とは限りません)の幅です(ピクセル単位)。 | TextLineMetrics | ||
| x : Number
x 値は、最初の文字の左の位置です(ピクセル単位)。 | TextLineMetrics | ||
| メソッド | 定義元 | ||
|---|---|---|---|
TextLineMetrics(x:Number, width:Number, height:Number, ascent:Number, descent:Number, leading:Number)
TextLineMetrics オブジェクトを作成します。 | TextLineMetrics | ||
![]() |
オブジェクトに指定されたプロパティが定義されているかどうかを示します。 | Object | |
![]() |
Object クラスのインスタンスが、パラメーターとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。 | Object | |
![]() |
指定されたプロパティが存在し、列挙できるかどうかを示します。 | Object | |
![]() |
ループ処理に対するダイナミックプロパティの可用性を設定します。 | Object | |
![]() |
ロケール固有の規則に従って書式設定された、このオブジェクトのストリング表現を返します。 | Object | |
![]() |
指定されたオブジェクトのストリング表現を返します。 | Object | |
![]() |
指定されたオブジェクトのプリミティブな値を返します。 | Object | |
ascent | プロパティ |
public var ascent:Number| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
テキストの ascent 値は、行のベースラインから最上部までの距離です(ピクセル単位)。このクラスの概要図の「アセント」の測定を参照してください。
関連する API エレメント
descent | プロパティ |
public var descent:Number| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
テキストの descent 値は、行のベースラインから最下部までの距離です(ピクセル単位)。このクラスの概要図の「ディセント」の測定を参照してください。
関連する API エレメント
height | プロパティ |
public var height:Number| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
選択されている行のテキスト(テキスト全体とは限りません)の高さの値です(ピクセル単位)。テキスト行の高さには、ふち取りの高さは含まれません。このクラスの概要図の「行の高さ」の測定を参照してください。
関連する API エレメント
leading | プロパティ |
public var leading:Number| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
leading 値は、テキストの行間の垂直距離を測定した結果です。このクラスの概要図の「レディング」の測定を参照してください。
関連する API エレメント
width | プロパティ |
public var width:Number| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
width の値は、選択されている行のテキスト(テキスト全体とは限りません)の幅です(ピクセル単位)。テキスト行の幅は、テキストフィールドの幅と同じではありません。テキスト行の幅はテキストフィールドの幅と相対的であり、ふち取りの幅 4 ピクセル(両側に 2 ピクセルずつ)を引いた値です。このクラスの概要図の「テキスト行の幅」の測定を参照してください。
関連する API エレメント
x | プロパティ |
public var x:Number| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
x 値は、最初の文字の左の位置です(ピクセル単位)。この値には、インデント、一行目インデント(ある場合)、ふち取りの幅が含まれます。このクラスの概要図の「テキスト行の x 位置」を参照してください。
関連する API エレメント
TextLineMetrics | () | コンストラクター |
public function TextLineMetrics(x:Number, width:Number, height:Number, ascent:Number, descent:Number, leading:Number)| 言語バージョン: | ActionScript 3.0 |
| ランタイムバージョン: | AIR 1.0, Flash Player 9, Flash Lite 4 |
TextLineMetrics オブジェクトを作成します。TextLineMetrics オブジェクトには、テキストフィールド内のテキストの行のテキストメトリックに関する情報が含まれます。このクラスのオブジェクトは、flash.text.TextField.getLineMetrics() メソッドによって返されます。
各プロパティについては、このクラスの概要にある図を参照してください。
パラメーターx:Number — 最初の文字の左の位置です(ピクセル単位)。
| |
width:Number — 選択されている行のテキスト(テキスト全体とは限りません)の幅です(ピクセル単位)。
| |
height:Number — 選択されている行のテキスト(テキスト全体とは限りません)の高さです(ピクセル単位)。
| |
ascent:Number — ベースラインから行の高さの最上部までの長さです(ピクセル単位)。
| |
descent:Number — ベースラインから行の最深部までの長さです(ピクセル単位)。
| |
leading:Number — テキストの行間の垂直距離の測定です。
|
関連する API エレメント
- タイプが TextField の
labelという名前のプロパティを作成します。 - コンストラクターが、
configureAssets()を呼び出し、- ステージの整列を、左上および拡大 / 縮小なしに設定します。
labelという名前の新しい TextField オブジェクトを作成します。labelの背景を有効にし、その色を白に設定します。- 自動折り返しによって、
labelのテキストを複数行にできるようにします。 getLabelText()の呼び出しの結果を、textプロパティ(label)に割り当てます。getLabelText()メソッドは、タイプが XML の変数を作成し、それをbodyという名前の XML ノードに割り当てます。ここに、長いテキストが格納されます。labelを表示リストに追加します。これにはaddChild()を使用します。
- ステージで実行される
resizeイベントを受け取るメソッドが追加されます。このメソッドは、resizeHandler()です。Flash Player のウィンドウサイズが変更されるたびにRESIZEイベントが送出され、次の処理が行われます。draw()が呼び出されます。これでlabelがステージの中央に 10 ピクセルのバッファーに囲まれて表示されるようになります。- 次に、
setTimeout()が、少し遅れてshowMetrics()を実行します。この遅延が発生するのは、RESIZEイベントが完了し、ステージが完全に再描画されるまで行メトリックが更新されないためです。 showMetrics()は、metricsという名前の TextLineMetrics 変数をgetLineMetrics()の呼び出しの結果に割り当て、この変数がreaderという名前の新しい LineMetricsReader インスタンスに渡されます。次に、2 つの変数はtrace()の呼び出し内で使用され、labelの最初の(唯一の)行と、LineMetricsReader インスタンスがtoString()メソッドによって提供する情報を出力します。
- コンストラクターは強制的に
resizeイベントを単独で送出し、SWF ファイルが最初にロードされるときにlabelが適切に描画されるようにします。
package {
import flash.display.Sprite;
import flash.display.StageAlign;
import flash.display.StageScaleMode;
import flash.events.*;
import flash.text.TextField;
import flash.text.TextLineMetrics;
import flash.utils.setTimeout;
public class TextLineMetricsExample extends Sprite {
private var gutter:int = 10;
private var label:TextField;
public function TextLineMetricsExample() {
configureAssets();
configureListeners();
resizeHandler(new Event(Event.RESIZE));
}
private function showMetrics():void {
var metrics:TextLineMetrics = label.getLineMetrics(0);
var reader:LineMetricsReader = new LineMetricsReader(metrics);
trace("lineText: " + label.getLineText(0));
trace("metrics: " + reader);
}
private function configureAssets():void {
stage.align = StageAlign.TOP_LEFT;
stage.scaleMode = StageScaleMode.NO_SCALE;
label = new TextField();
label.background = true;
label.backgroundColor = 0xFFFFFF;
label.multiline = true;
label.wordWrap = true;
label.text = getLabelText();
addChild(label);
}
private function configureListeners():void {
stage.addEventListener(Event.RESIZE, resizeHandler);
}
private function resizeHandler(event:Event):void {
draw();
setTimeout(showMetrics, 100);
}
private function draw():void {
label.x = gutter;
label.y = gutter;
label.width = stage.stageWidth - (gutter * 2);
label.height = stage.stageHeight - (gutter * 2);
}
private function getLabelText():String {
var text:XML = <body>The Flex product line enables developers to build rich Internet applications that blend the responsiveness of desktop software, the cross-platform reach of the web, and the expressiveness of the Flash Platform.</body>
return text.toString();
}
}
}
import flash.text.TextLineMetrics;
class LineMetricsReader {
private var metrics:TextLineMetrics;
public function LineMetricsReader(metrics:TextLineMetrics) {
this.metrics = metrics;
}
public function toString():String {
return "[TextLineMetrics ascent:" + metrics.ascent
+ ", descent:" + metrics.descent
+ ", leading:" + metrics.leading
+ ", width:" + metrics.width
+ ", height:" + metrics.height
+ ", x:" + metrics.x
+ "]";
}
}
Tue Jun 12 2018, 10:34 AM Z
継承されるパブリックプロパティを隠す
継承されるパブリックプロパティを表示