패키지flash.text
클래스public class TextLineMetrics
상속TextLineMetrics Inheritance Object

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

TextLineMetrics 클래스에는 텍스트 필드 내에 있는 텍스트 행의 텍스트 위치 및 치수에 대한 정보가 들어 있습니다. 모든 단위는 픽셀입니다. 이 클래스의 객체는 flash.text.TextField.getLineMetrics() 메서드로 반환됩니다.

다이어그램의 "Text Field height" 치수와 같이 텍스트 행이 포함된 텍스트 필드와 관련된 치수는 flash.text.TextField를 참조하십시오.

아래 다이어그램에서는 텍스트 필드 및 필드에 포함된 텍스트 행의 위치와 치수를 보여 줍니다.

예제를 통해 확인하십시오.

참고 사항

flash.text.TextField


Public 속성
 속성다음에 의해 정의됨
  ascent : Number
텍스트의 ascent 값은 기준선에서 행 높이 맨 위까지의 거리를 픽셀 단위로 나타낸 값입니다.
TextLineMetrics
 Inheritedconstructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다.
Object
  descent : Number
텍스트의 descent 값은 기준선에서 행 깊이 맨 아래까지의 거리를 픽셀 단위로 나타낸 값입니다.
TextLineMetrics
  height : Number
선택한 행에 있는 텍스트의 높이 값을 픽셀 단위로 나타낸 값입니다. 선택한 행은 전체 텍스트가 아닐 수도 있습니다.
TextLineMetrics
  leading : Number
leading 값은 텍스트 행 사이의 세로 거리를 나타냅니다.
TextLineMetrics
 Inheritedprototype : Object
[static] 클래스 또는 함수 객체의 프로토타입 객체에 대한 참조입니다.
Object
  width : Number
width 값은 선택한 행의 텍스트 폭을 픽셀 단위로 나타낸 값입니다. 선택한 행은 전체 텍스트가 아닐 수도 있습니다.
TextLineMetrics
  x : Number
x 값은 첫 문자의 왼쪽 위치를 픽셀 단위로 나타낸 값입니다.
TextLineMetrics
Public 메서드
 메서드다음에 의해 정의됨
  
TextLineMetrics(x:Number, width:Number, height:Number, ascent:Number, descent:Number, leading:Number)
TextLineMetrics 객체를 만듭니다.
TextLineMetrics
 Inherited
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다.
Object
 Inherited
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다.
Object
 Inherited
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다.
Object
 Inherited
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다.
Object
 Inherited
지정된 객체의 문자열 표현을 반환합니다.
Object
 Inherited
지정된 객체의 프리미티브 값을 반환합니다.
Object
속성 정보
ascent속성
public var ascent:Number

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

텍스트의 ascent 값은 기준선에서 행 높이 맨 위까지의 거리를 픽셀 단위로 나타낸 값입니다. 자세한 내용은 이 클래스의 개요 다이어그램에서 "Ascent" 치수를 참조하십시오.

참고 사항

descent속성 
public var descent:Number

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

텍스트의 descent 값은 기준선에서 행 깊이 맨 아래까지의 거리를 픽셀 단위로 나타낸 값입니다. 자세한 내용은 이 클래스의 개요 다이어그램에서 "Descent" 치수를 참조하십시오.

참고 사항

height속성 
public var height:Number

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

선택한 행에 있는 텍스트의 높이 값을 픽셀 단위로 나타낸 값입니다. 선택한 행은 전체 텍스트가 아닐 수도 있습니다. 텍스트 행의 높이에는 제본용 여백 높이가 포함되지 않습니다. 자세한 내용은 이 클래스의 개요 다이어그램에서 "Line height" 치수를 참조하십시오.

참고 사항

leading속성 
public var leading:Number

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

leading 값은 텍스트 행 사이의 세로 거리를 나타냅니다. 자세한 내용은 이 클래스의 개요 다이어그램에서 "Leading" 치수를 참조하십시오.

참고 사항

width속성 
public var width:Number

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

width 값은 선택한 행의 텍스트 폭을 픽셀 단위로 나타낸 값입니다. 선택한 행은 전체 텍스트가 아닐 수도 있습니다. 텍스트 행의 폭은 텍스트 필드의 폭과 다릅니다. 텍스트 행의 폭은 텍스트 필드 폭의 양쪽에서 2픽셀씩 모두 4픽셀의 제본용 여백 폭을 뺀 크기를 기준으로 합니다. 자세한 내용은 이 클래스의 개요 다이어그램에서 "Text Line width" 치수를 참조하십시오.

참고 사항

x속성 
public var x:Number

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

x 값은 첫 문자의 왼쪽 위치를 픽셀 단위로 나타낸 값입니다. 이 값에는 여백, 들여쓰기(설정된 경우) 및 제본용 여백 폭이 포함됩니다. 자세한 내용은 이 클래스의 개요 다이어그램에서 "Text Line x-position"을 참조하십시오.

참고 사항

생성자 정보
TextLineMetrics()생성자
public function TextLineMetrics(x:Number, width:Number, height:Number, ascent:Number, descent:Number, leading:Number)

언어 버전 : ActionScript 3.0
Player 버전 : Flash Player 9

TextLineMetrics 객체를 만듭니다. TextLineMetrics 객체에는 텍스트 필드의 텍스트 행에 대한 텍스트 메트릭 관련 정보가 들어 있습니다. 이 클래스의 객체는 flash.text.TextField.getLineMetrics() 메서드로 반환됩니다.

관련 속성에 대한 자세한 내용은 이 클래스의 개요 부분에 있는 다이어그램을 참조하십시오.

매개 변수
x:Number — 첫 번째 문자의 왼쪽 위치(픽셀 단위)입니다.
 
width:Number — 선택한 행의 텍스트 폭(픽셀 단위)입니다. 선택한 행은 전체 텍스트가 아닐 수도 있습니다.
 
height:Number — 선택한 행의 텍스트 높이(픽셀 단위)입니다. 선택한 행은 전체 텍스트가 아닐 수도 있습니다.
 
ascent:Number — 기준선에서 행 높이 맨 위까지의 길이(픽셀 단위)입니다.
 
descent:Number — 기준선에서 행 깊이 맨 아래까지의 길이(픽셀 단위)입니다.
 
leading:Number — 텍스트 행 사이의 세로 간격을 나타내는 치수입니다.

참고 사항

예제 예제 사용 방법
TextLineMetricsExample.as

다음 예제에서는 TextLineMetricsExample 및 LineMetricsReader 클래스를 만들어 XML 객체를 통해 Flash Player에 메시지를 출력합니다. 이는 다음 단계로 이루어집니다.
  1. TextField 유형의 label이라는 속성을 만듭니다.
  2. 생성자에서 configureAssets()을 호출하여 다음을 수행합니다.
    • 스테이지를 왼쪽 위 정렬 및 배율 없음으로 설정합니다.
    • label이라는 새 TextField 객체를 만듭니다.
    • label의 배경을 활성화하고 색상을 흰색으로 설정합니다.
    • 자동 줄 바꿈을 사용하여 label의 텍스트가 여러 행으로 확장될 수 있도록 합니다.
    • getLabelText()를 호출한 결과를 labeltext 속성에 할당합니다. getLabelText() 메서드는 XML 유형의 변수를 만들어 이름이 body인 XML 노드에 할당합니다. 이 노드는 긴 문장으로 채워집니다.
    • addChild()를 사용하여 label을 표시 목록에 추가합니다.
  3. 스테이지에서 수행되는 resize 이벤트를 수신하는 resizeHandler()라는 메서드를 추가합니다. Flash Player 윈도우 크기가 변경될 때마다 RESIZE 이벤트가 전달되고 다음 동작이 발생합니다.
    • draw()가 호출되어 label가 스테이지 가운데 나타나고 10픽셀 버퍼로 둘러싸입니다.
    • setTimeout()을 통해 짧은 지연 시간 후 showMetrics()가 실행됩니다. 지연 시간을 추가하는 이유는 RESIZE 이벤트가 완료되어 스테이지가 완전히 다시 그려질 때까지 행 메트릭이 업데이트되지 않기 때문입니다.
    • showMetrics()에서 metrics라는 TextLineMetrics 변수를 getLineMetrics() 호출 결과에 할당한 다음 이 변수를 reader라는 LineMetricsReader 인스턴스의 새 인스턴스에 전달합니다. 그런 다음 trace() 호출 내에서 두 변수가 사용되어 label의 첫 번째(유일한) 행과 LineMetricsReader 인스턴스의 toString() 메서드를 통해 제공된 정보를 인쇄합니다.
  4. 생성자에서 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
            + "]";
    }
}




 

이 페이지에 의견 추가되면 전자 메일 알림 받기 | 의견 보고서

현재 페이지: http://livedocs.adobe.com/flash/9.0_kr/ActionScriptLangRefV3/flash/text/TextLineMetrics.html