패키지 | flash.text |
클래스 | public final class TextRenderer |
상속 | TextRenderer Object |
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
텍스트 필드에 고급 앤티앨리어싱을 설정하려면 TextField 인스턴스의 antiAliasType
속성을 설정합니다.
고급 앤티앨리어싱은 획 두께와 가장자리 선명도를 지속적으로 조절하는 CSM(Continuous Stroke Modulation)를 제공합니다. 고급 기능으로서 setAdvancedAntiAliasingTable()
메서드를 사용하여 특정 서체와 글꼴 크기에 대한 설정을 정의할 수 있습니다.
관련 API 요소
속성 | 정의 주체 | ||
---|---|---|---|
constructor : Object
지정된 객체 인스턴스의 클래스 객체 또는 생성자 함수에 대한 참조입니다. | Object | ||
displayMode : String [정적]
고급 앤티앨리어싱 텍스트의 렌더링을 제어합니다. | TextRenderer | ||
maxLevel : int [정적]
고급 앤티앨리어싱에 대한 ADF(adaptively sampled distance field) 품질 수준입니다. | TextRenderer |
메서드 | 정의 주체 | ||
---|---|---|---|
지정된 속성이 객체에 정의되어 있는지 여부를 나타냅니다. | Object | ||
Object 클래스의 인스턴스가 매개 변수로 지정된 객체의 프로토타입 체인에 있는지 여부를 나타냅니다. | Object | ||
지정된 속성이 존재하고 열거 가능한지 여부를 나타냅니다. | Object | ||
setAdvancedAntiAliasingTable(fontName:String, fontStyle:String, colorType:String, advancedAntiAliasingTable:Array):void [정적]
글꼴에 대한 사용자 정의 CSM(Continuous Stroke Modulation) 조회 표를 설정합니다. | TextRenderer | ||
루프 작업에서 동적 속성을 사용할 수 있는지 여부를 설정합니다. | Object | ||
로캘별 규칙에 따라 서식이 지정된 이 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 문자열 표현을 반환합니다. | Object | ||
지정된 객체의 프리미티브 값을 반환합니다. | Object |
displayMode | 속성 |
displayMode:String
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
고급 앤티앨리어싱 텍스트의 렌더링을 제어합니다. 텍스트의 시각적인 품질에 대한 판단은 매우 주관적입니다. Flash Player에서는 자동으로 다양한 조건에 대한 최적의 설정을 사용하지만 디자이너는 텍스트에 고유한 모양과 느낌을 줄 수 있습니다. 또한 displayMode
를 사용하면 Flash Player의 하위 픽셀 선택을 재정의하여 사용자의 하드웨어에 관계없이 시각적인 품질을 일정하게 유지할 수 있습니다. 이 속성을 설정하려면 TextDisplayMode 클래스의 값을 사용합니다.
기본값: "default".
구현
public static function get displayMode():String
public static function set displayMode(value:String):void
관련 API 요소
maxLevel | 속성 |
maxLevel:int
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
고급 앤티앨리어싱에 대한 ADF(adaptively sampled distance field) 품질 수준입니다. 사용할 수 있는 값은 3, 4 및 7입니다.
고급 앤티앨리어싱은 ADF를 사용하여 글리프를 결정하는 외곽선을 나타냅니다. 품질이 높을수록 ADF 구조에는 캐시 공간이 더 많이 필요합니다. 값을 3
으로 설정하면 메모리 사용량이 가장 적은 대신 품질이 가장 낮습니다. 큰 글꼴에는 캐시 공간이 더 많이 필요합니다. 64픽셀의 글꼴 크기에서 품질 수준을 이미 7
로 설정한 경우가 아니면 품질 수준이 3
에서 4
로 또는 4
에서 7
로 증가합니다.
기본값: 4.
구현
public static function get maxLevel():int
public static function set maxLevel(value:int):void
setAdvancedAntiAliasingTable | () | 메서드 |
public static function setAdvancedAntiAliasingTable(fontName:String, fontStyle:String, colorType:String, advancedAntiAliasingTable:Array):void
언어 버전: | ActionScript 3.0 |
런타임 버전: | AIR 1.0, Flash Player 9 |
글꼴에 대한 사용자 정의 CSM(Continuous Stroke Modulation) 조회 표를 설정합니다. Flash Player에서는 글꼴에 가장 적합한 CSM을 자동으로 찾습니다. 하지만 Flash Player에서 제공하는 CSM이 만족스럽지 않은 경우 setAdvancedAntiAliasingTable()
메서드를 사용하여 CSM을 직접 사용자 정의할 수 있습니다.
매개 변수
fontName:String — 설정을 적용하려는 글꼴의 이름입니다.
| |
fontStyle:String — flash.text.FontStyle 클래스의 값 중 하나를 사용하여 지정한 글꼴 스타일입니다.
| |
colorType:String — 이 값은 획이 어두운지 밝은지를 결정합니다. flash.text.TextColorType 클래스의 값 중 하나를 사용합니다.
| |
advancedAntiAliasingTable:Array — 지정된 글꼴에 대한 하나 이상의 CSMSettings 객체로 이루어진 배열입니다. 각 객체에는 다음 속성이 들어 있습니다.
고급 앤티앨리어싱은 ADF(adaptively sampled distance field)를 사용하여 글리프를 결정하는 외곽선을 나타냅니다. Flash Player에서는 바깥쪽 잘림 값( 외부 잘림 값과 내부 잘림 값을 조절하면 획 무게와 가장자리 선명도에 영향을 줍니다. 이러한 두 매개 변수 사이의 간격은 예전 앤티앨리어싱 방법의 필터 반지름 두 배에 달합니다. 간격이 좁으면 가장자리가 날카롭고 간격이 넓으면 가장자리가 부드럽고 매끄럽습니다. 간격이 0이면 결과 밀도 이미지가 2단 비트맵이 됩니다. 간격이 매우 넓으면 결과 밀도 이미지의 가장자리가 수채화로 그린 것 같이 됩니다. 일반적으로 사용자는 작은 포인트 크기의 경우 날카롭고 선명한 가장자리를 선호하고, 애니메이션 텍스트나 보다 큰 포인트 크기의 경우 부드러운 가장자리를 선호합니다. 일반적으로 바깥쪽 자르기는 음수 값을 가지고 안쪽 자르기는 양수 값을 가지며 이들의 중점은 0 근처에 위치합니다. 중간 지점이 음의 무한대로 바뀌도록 이러한 매개 변수를 조정하면 획 두께가 커집니다. 중간 지점을 양의 값으로 바꾸면 획 두께가 줄어듭니다. 바깥쪽 자르기 값은 항상 안쪽 자르기 값보다 작거나 같습니다. |
관련 API 요소
- georgia.ttf라는 Georgia 글꼴을 이 AS 파일과 같은 디렉토리에 둡니다.
- 클래스 정의 바로 아래에 다음 행을 추가합니다.
[Embed(source="georgia.ttf", fontFamily="Georgia")]
private var embeddedFont:String;
- 스테이지에 텍스트 필드를 배치하고 선택합니다.
- 속성 관리자에서 해당 텍스트 필드의 글꼴을 [Georgia]로 설정합니다.
- 속성 관리자에서 [포함...]을 누르고 [모두]를 선택합니다.
참고:
- "로컬 재생 보안"을 "로컬 파일만 액세스"로 설정하고 SWF 파일을 컴파일해야 합니다.
package { import flash.display.DisplayObject; import flash.display.Sprite; import flash.events.*; import flash.text.*; public class TextRendererExample2 extends Sprite { private var gutter:int = 10; public function TextRendererExample2() { createTextField(8,AntiAliasType.NORMAL); createTextField(8,AntiAliasType.ADVANCED); createTextField(24,AntiAliasType.NORMAL); createTextField(24,AntiAliasType.ADVANCED); } private function createTextField(fontSize:Number,antiAliasType:String):TextField { var tf:TextField = new TextField(); tf.embedFonts = true; tf.autoSize = TextFieldAutoSize.LEFT; tf.antiAliasType = antiAliasType; tf.defaultTextFormat = getTextFormat(fontSize); tf.selectable = false; tf.mouseEnabled = true; tf.text = "The quick brown fox jumped over the lazy dog."; if(numChildren > 0) { var sibling:DisplayObject = getChildAt(numChildren - 1); tf.y = sibling.y + sibling.height + gutter; } addChild(tf); return tf; } private function getTextFormat(fontSize:Number):TextFormat { var format:TextFormat = new TextFormat(); format.size = fontSize; format.font = "Georgia"; return format; } } }
Tue Jun 12 2018, 03:17 PM Z