Главная / Action Script 3
Пакетflash.text
Классpublic final class TextRenderer
НаследованиеTextRenderer Inheritance Object

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Класс TextRenderer обеспечивает поддержку расширенных возможностей сглаживания встроенных шрифтов. Расширенное сглаживание позволяет высококачественно визуализировать шрифты небольшого размера. Используйте расширенное сглаживание при работе с приложениями, в которых много мелкого текста. Adobe не рекомендует использовать расширенное сглаживание для очень больших шрифтов (больше 48). Расширенное сглаживание доступно только в Flash Player версии 8 и более поздних.

Чтобы задать расширенное сглаживание для текстового поля, определите свойство antiAliasType экземпляра TextField.

Расширенное сглаживание обеспечивает непрерывную модуляцию линий (CSM), которая включает непрерывную модуляцию веса линии и четкости краев. В качестве расширенной функции можно использовать метод setAdvancedAntiAliasingTable() для определения параметров для конкретных гарнитур и размеров шрифта.

Посмотреть примеры

См. также

flash.text.TextField.antiAliasType


Общедоступные свойства
 СвойствоОпределено
 Inheritedconstructor : Object
Ссылка на объект класса или функцию конструктора для данного экземпляра объекта.
Object
  displayMode : String
[статические] Управляет визуализацией текста с дополнительным сглаживанием.
TextRenderer
  maxLevel : int
[статические] Уровень качества полей ADF для расширенных возможностей сглаживания.
TextRenderer
 Inheritedprototype : Object
[статические] Ссылка на модель объекта класса или функции.
Object
Общедоступные методы
 МетодОпределено
 Inherited
Показывает, определено ли заданное свойство для объекта.
Object
 Inherited
Показывает, есть ли экземпляр класса Object в цепи прототипов объекта, заданного в качестве параметра.
Object
 Inherited
Показывает наличие заданного свойства и его перечисляемость.
Object
  
setAdvancedAntiAliasingTable(fontName:String, fontStyle:String, colorType:String, advancedAntiAliasingTable:Array):void
[статические] Задает пользовательскую справочную таблицу непрерывной модуляции линий (CSM) для шрифта.
TextRenderer
 Inherited
Задает доступность динамического свойства для операций цикла.
Object
 Inherited
Возвращает строковое представление заданного объекта.
Object
 Inherited
Возвращает элементарное значение заданного объекта.
Object
Сведения о свойстве
displayModeсвойство
displayMode:String  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Управляет визуализацией текста с дополнительным сглаживанием. Визуальное качество текста в значительной мере субъективно, и хотя проигрыватель Flash Player пытается использовать оптимальные параметры для различных условий, дизайнеры могут выбрать другой вид для своего текста. Кроме того, метод displayMode позволяет дизайнерам переопределять субпиксельные значения проигрывателя Flash Player и создавать визуальную согласованность независимо от аппаратных средств пользователя. Для определения этого свойства используются значения класса TextDisplayMode.

Значение по умолчанию "default"



Реализация
    public static function get displayMode():String
    public function set displayMode(value:String):void

См. также

maxLevelсвойство 
maxLevel:int  [чтение и запись]

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Уровень качества полей ADF для расширенных возможностей сглаживания. Допускаются только значения 3, 4 и 7.

Расширенное сглаживание использует поля (ADF) для представления контуров, определяющих глиф. Чем выше качество, тем больше кэша требуют структуры ADF. При значении 3 потребляется меньше всего памяти и обеспечивается самое низкое качество. Для более крупных шрифтов требуется больше кэша. Для шрифта размером 64 пиксела уровень качества увеличивается с 3 до 4 или с 4 до 7, если еще не выбран уровень 7.

Значение по умолчанию 4



Реализация
    public static function get maxLevel():int
    public function set maxLevel(value:int):void
Сведения о методе
setAdvancedAntiAliasingTable()метод
public static function setAdvancedAntiAliasingTable(fontName:String, fontStyle:String, colorType:String, advancedAntiAliasingTable:Array):void

Язык версии : ActionScript 3.0
Версии среды выполнения:  1.0 9

Задает пользовательскую справочную таблицу непрерывной модуляции линий (CSM) для шрифта. Проигрыватель Flash Player пытается найти оптимальную модуляцию CSM для выбранного шрифта. Если Вас не устраивает модуляция CSM, предлагаемая проигрывателем, можно создавать собственную CSM с помощью метода setAdvancedAntiAliasingTable().

Параметры

fontName:String — Имя шрифта, для которого применяются параметры.
 
fontStyle:String — Стиль шрифта, указанный с помощью одного из значений класса flash.text.FontStyle.
 
colorType:String — Это значение определяет, будет линия темной или светлой. Используйте одно из значений класса flash.text.TextColorType.
 
advancedAntiAliasingTable:Array — Массив одного или нескольких объектов CSMSettings для заданного шрифта. Каждый объект содержит следующие свойства:
  • fontSize
  • insideCutOff
  • outsideCutOff

Массив advancedAntiAliasingTable может содержать несколько записей, задающих параметры CSM для разных размеров шрифта.

Свойство fontSize — это размер (в пикселах), для которого применяются параметры.

Расширенное сглаживание использует адаптивно выбираемые поля расстояния (ADF) для представления контуров, определяющих глиф. Проигрыватель Flash Player использует значение внешнего среза (outsideCutOff), под которым все плотности поучают значение 0, и значение внутреннего среза (insideCutOff), над которым плотности получают максимальное значение (например, 255). С учетом этих двух значений среза функция наложения представляет собой линейную кривую в диапазоне от нуля по внешнему срезу до максимальной плотности по внутреннему.

Регулировка значений внешнего и внутреннего срезов влияет на вес линии и четкость краев. Интервал между этими двумя параметрами сопоставим с удвоенным радиусом фильтра классических методов сглаживания. Небольшой интервал дает более резкие края, а более широкий делает края более плавными или сглаженными. Когда интервал равен нулю, изображение с полученной плотностью является двухуровневым растровым изображением. Когда интервал очень большой, изображение с полученной плотностью имеет размытые края, напоминающие акварель.

Как правило, пользователи отдают предпочтение резким, контрастным краям при использовании малых кеглей и более мягкие края для анимированного текста и более крупных кеглей.

Внешний срез обычно имеет отрицательное значение, а внутренний — положительное, а средняя точка, как правило, находится около нуля. Регулировка этих параметров для смещения средней точки к отрицательному множеству увеличивает вес линии. Смещение средней точки к положительному множеству уменьшает вес линии. Необходимо следить, чтобы значение внешнего среза всегда было меньше или равно значению внутреннего среза.

См. также

Примеры Как пользоваться примерами
TextRendererExample2.as

В следующем примере создается класс TextRendererExample для демонстрации наглядных примеров параметров расширенного сглаживания для мелкого и крупного шрифта. Перед тестированием этого примера потребуется встроить шрифт. Если используется Flex, шрифт встраивается следующим образом.
  1. Поместите шрифт Georgia (файл с именем georgia.ttf) в тот же каталог, что и данный файл AS.
  2. Добавьте следующие строки непосредственно под определение класса.
  3. [Embed(source="georgia.ttf", fontFamily="Georgia")]
  4. private var embeddedFont:String;
Если используется Flash, шрифт встраивается следующим образом.
  1. Поместите текстовое поле в рабочую область и выделите его.
  2. В инспекторе свойств выберите для текстового поля шрифт Georgia.
  3. В инспекторе свойств нажмите "Встроить..." и выберите "Все".

Примечания.

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;
        }
    }
}