Переход от getCharBoundaries к BitMapData

Я пытаюсь преобразовать все буквы в текстовом поле в растровые данные. Затем я хочу оживить каждый из них. Я могу вернуть массив прямоугольников, используя getCharBoundaries. Но как тогда преобразовать каждую букву в BitMapData?

package
{
import flash.display.Sprite;
import flash.geom.Rectangle;
import flash.text.TextField;
import flash.text.TextFieldType;
import flash.text.TextFormat;

public class LetterBitmapData extends Sprite
{
    private var tf:TextField;
    private var letterSprite:Sprite;

    public function LetterBitmapData()
    {
        makeTF();
        getRectangles();
    };

    private function makeTF():void
    {
        tf = new TextField();
        tf.width = 400;
        tf.height = 100;
        tf.selectable = false;

        tf.multiline = true;
        tf.wordWrap = true;
        tf.text = "Now is the winter of our discontent made glorious summer by this sun of York.";
        tf.setTextFormat(new TextFormat("_sans", 16, 0));
        addChild(tf);
    }
    private function getRectangles():Array
    {
        var result:Array = [];
        var rectangle:Rectangle;
        for (var i:int = 0; i < tf.text.length; i++)
        {
            rectangle = tf.getCharBoundaries(i);
            result.push(rectangle); //create an array of CharBoundary rectangles
    //trace("RECTANGLE x: " + rectangle.x + " y: " + rectangle.y + " width: " + rectangle.width + " height: " + rectangle.height );
        }
        return result;
    }
    }
}

person David    schedule 02.11.2010    source источник


Ответы (1)


Вы можете анимировать свои письма, не превращая их в растровые изображения, если вы используете встроенные шрифты, которые...

Вместо создания массива прямоугольников вы можете создать массив TextFields, связанных с их конкретным прямоугольником, чтобы сохранить координаты каждой буквы. После этого должна быть возможность анимировать каждое TextField.

person PatrickS    schedule 02.11.2010
comment
Привет, Патрик, спасибо. Да, это правда. Я хотел избежать накладных расходов на спрайты или текстовые поля; Кроме того, поскольку я хочу делать повороты, мне не нужно встраивать шрифты. Но похоже, что метод copyPixels обеспечивает действительно ужасное представление текста. - person David; 03.11.2010