This page was saved using jaction on 2006-09-04 8:34:07.
Address: http://flexdocs.kr/docs/flex2/langref/flash/text/TextLineMetrics.html
Title: flash.text.TextLineMetrics (Flex™ 2 레퍼런스 가이드)  •  Size: 34327
Packageflash.text
Classpublic class TextLineMetrics
InheritanceTextLineMetrics Inheritance Object

TextLineMetrics 클래스에는, 텍스트 필드내의 텍스트의 위치 및텍스트의 행의 측정에 관한 정보가 포함되어 있습니다. 모든 property치는 픽셀 단위입니다. 이 클래스의 object는,flash.text.TextField.getLineMetrics() Methods에 의해 돌려주어집니다.

텍스트의 행을 포함한 텍스트 필드에 관한 측정 (예를 들어, 그림의 "텍스트 필드의 높이" 의 측정등)에 대해서는, flash.text.TextField 를 참조해 주세요.

다음의 그림에, 텍스트 필드 및 필드에 포함되는 텍스트의 행의 포인트로 측정을 나타냅니다.

An image illustrating text metrics

View the examples

See also

flash.text.TextField


Public property
 property정의
  ascent : Number
텍스트의 아센트치는, baseline로부터 행의 높이의 최상부까지의 길이입니다 (픽셀 단위).
TextLineMetrics
 Inheritedconstructor : Object
특정의 object 인스턴스의 클래스 object 또는 constructor    함수에의 참조입니다.
Object
  descent : Number
텍스트의 디 센트치는, baseline로부터 행의 최심부까지의 길이입니다 (픽셀 단위).
TextLineMetrics
  height : Number
선택되고 있는 행의 텍스트의 높이의 값입니다 (픽셀 단위). 반드시 완전한 텍스트가 아닙니다.
TextLineMetrics
  leading : Number
leading치는, 텍스트의 행간의 수직 거리의 측정입니다.
TextLineMetrics
 Inheritedprototype : Object
[static] 클래스 또는 함수 object의 prototype object에의 참조입니다.
Object
  width : Number
폭의 값은, 선택되고 있는 행의 텍스트의 폭입니다 (픽셀 단위). 반드시 완전한 텍스트가 아닙니다.
TextLineMetrics
  x : Number
x 값는, 최초의 캐릭터의 왼쪽의 위치입니다 (픽셀 단위).
TextLineMetrics
Public Methods
 Methods정의
  TextLineMetrics (x:Number , width:Number , height:Number , ascent:Number , descent:Number , leading:Number )
TextLineMetrics object를 작성합니다.
TextLineMetrics
 InheritedhasOwnProperty (name:String ):Boolean
object로 지정된 property가 정의되고 있는지 어떤지를 나타냅니다.
Object
 InheritedisPrototypeOf (theClass:Object ):Boolean
Object 클래스의 인스턴스가, Parameters로서 지정된 object의 prototype 체인내에 있을지 어떨지를 나타냅니다.
Object
 InheritedpropertyIsEnumerable (name:String ):Boolean
지정된 property가 존재해, 열거 가능한가 어떤가를 나타냅니다.
Object
 InheritedsetPropertyIsEnumerable (name:String , isEnum:Boolean = true):void
루프 처리에 대한 다이나믹 property의 가용성을 설정합니다.
Object
 InheritedtoString ():String
지정된 object의 string 표현을 돌려줍니다.
Object
 InheritedvalueOf ():Object
지정된 object의 원시적치를 돌려줍니다.
Object
property의 상세
ascentproperty
public var ascent:Number

텍스트의 아센트치는, baseline로부터 행의 높이의 최상부까지의 길이입니다 (픽셀 단위). 이 클래스의 개요도의 것 "아센트" 의 측정을 참조해 주세요.

See also

descentproperty 
public var descent:Number

텍스트의 디 센트치는, baseline로부터 행의 최심부까지의 길이입니다 (픽셀 단위). 이 클래스의 개요도의 "디 센트" 의 측정을 참조해 주세요.

See also

heightproperty 
public var height:Number

선택되고 있는 행의 텍스트의 높이의 값입니다 (픽셀 단위). 반드시 완전한 텍스트가 아닙니다. 텍스트행의 높이에는, 잡기의 높이는 포함되지 않습니다. 이 클래스의 개요도의 "행의 높이" 의 측정을 참조해 주세요.

See also

leadingproperty 
public var leading:Number

leading치는, 텍스트의 행간의 수직 거리의 측정입니다. 이 클래스의 개요도의 "leading" 의 측정을 참조해 주세요.

See also

widthproperty 
public var width:Number

폭의 값은, 선택되고 있는 행의 텍스트의 폭입니다 (픽셀 단위). 반드시 완전한 텍스트가 아닙니다. 텍스트행의 폭은, 텍스트 필드의 폭과 같지는 않습니다. 텍스트행의 폭은 텍스트 필드의 폭에 상대적이며, 잡기의 폭을 4 픽셀 (양측으로 2 픽셀씩) 뺀 값입니다. 이 클래스의 개요도의 "텍스트행의 폭" 의 측정을 참조해 주세요.

See also

xproperty 
public var x:Number

x 값는, 최초의 캐릭터의 왼쪽의 위치입니다 (픽셀 단위). 이 값에는, 마진, 인덴트 (있는 경우), 잡기의 폭이 포함됩니다. 이 클래스의 개요도의 "텍스트행의 x 위치" 를 참조해 주세요.

See also

constructor    의 상세
TextLineMetrics()constructor   
public 함수 TextLineMetrics(x:Number , width:Number , height:Number , ascent:Number , descent:Number , leading:Number )

TextLineMetrics object를 작성합니다. TextLineMetrics object에는, 텍스트 필드내의 텍스트의 행의 텍스트 시학에 관한 정보가 포함됩니다. 이 클래스의 object는,flash.text.TextField.getLineMetrics() Methods에 의해 돌려주어집니다.

상황에 맞은 property에 대해서는, 이 클래스의 개요에 있는 그림을 참조해 주세요.

Parameters
x:Number — 최초의 캐릭터의 왼쪽의 위치입니다 (픽셀 단위).
 
width:Number — 선택되고 있는 행의 텍스트의 폭입니다 (픽셀 단위). 반드시 완전한 텍스트가 아닙니다.
 
height:Number — 선택되고 있는 행의 텍스트의 높이입니다 (픽셀 단위). 반드시 완전한 텍스트가 아닙니다.
 
ascent:Number — baseline로부터 행의 높이의 최상부까지의 길이입니다 (픽셀 단위).
 
descent:Number — baseline로부터 행의 최심부까지의 길이입니다 (픽셀 단위).
 
leading:Number — 텍스트의 행간의 수직 거리의 측정입니다.

See also

Examples

다음의 예에서는, TextLineMetricsExample 클래스 및 LineMetricsReader 클래스를 작성해, XML object를 경유해 Flash Player 로 메세지를 출력합니다. 이것을 실시하려면 , 이하의 순서를 사용합니다.
  1. 타입이 TextField 의 label 라는 이름의 property를 작성합니다.
  2. constructor    이,configureAssets() 를 호출합니다. 이것은, 이하를 실행합니다.
    • 스테이지의 정렬을, 좌상 및 확대·축소없이 설정합니다.
    • label. (이)라는 이름의 새로운 TextField object를 작성합니다.
    • label 의 배경을 유효하게 해, 색을 흰색으로 설정합니다.
    • 자동 즉시에 의해,label 의 텍스트가 복수의 행에 건너는 것을 허가합니다.
    • getLabelText() 의 호출의 결과를, labeltext property에 할당합니다. getLabelText() Methods는, 타입이 XML 의 변수를 작성해, 그것을 body 라는 이름의 XML 노드에 할당합니다. 여기에는, 긴 텍스트가 포함됩니다.
    • addChild() 를 사용해,label 를 표시 리스트에 추가합니다.
  3. 스테이지에서 실행되는 resize 이벤트를 받는 Methods가 추가됩니다. 이 Methods의 이름은 다음과 같습니다. resizeHandler(). Flash Player 의 윈도우 크기가 변경될 때마다, RESIZE 이벤트가 dispatch되어 이하가 발생합니다.
    • draw() 가 불러 됩니다. label 가 스테이지의 중앙에 10 픽셀의 버퍼에 둘러싸여 표시되도록(듯이) 하기 (위해)때문에입니다.
    • 다음에,setTimeout() 이, 조금 늦어 showMetrics() 를 실행합니다. 지연이 추가되는 것은,RESIZE 이벤트가 완료해 스테이지가 완전하게 재묘화 될 때까지 행 시학이 갱신되지 않기 때문입니다.
    • showMetrics() 는,metrics 라는 이름의 TextLineMetrics 변수를 getLineMetrics() 의 호출의 결과에 할당해 다음에 이 변수는 reader 라는 이름의 LineMetricsReader 인스턴스의 새로운 인스턴스에게 건네집니다. 2 개의 변수는,trace() 의 호출내에서 사용되어 label 의 최초의 (유일한) 행과 LineMetricsReader 인스턴스에 의해 toString() Methods를 경유해 제공되는 정보가 출력됩니다.
  4. constructor    은,resize 이벤트의 단일의 dispatch을 강제해, 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
            + "]";
    }
}






 

코멘트가 추가되었을 경우, 메일로 받기. | 코멘트 리포트

현재의 페이지: http://flexdocs.kr/docs/flex2/langref/flash/text/TextLineMetrics.html