включить сглаживание импортированного, повернутого изображения в динамическом текстовом поле во Flash (AS3) - PullRequest
2 голосов
/ 09 марта 2009

У меня есть клип на сцене, повернутый на 10 °, с динамическим текстовым полем внутри. Я загружаю некоторый текст со встроенным изображением таким образом:

(Используя первый кадр AS3 на данный момент, в конечном итоге это перейдет в класс.)

var txt:String = '<img src="foo.gif" id="myImg1" /><p>Lorem ipsum</p>';

my_mc.txtBox.htmlText = txt;

Который работает нормально. Текст помещается и даже красиво оборачивается вокруг изображения. Проблема в том, что изображение выглядит ужасно. Я нашел свойство Bitmap.smoothing, но не могу получить доступ к изображению, чтобы установить это свойство. Я пытаюсь этот код:

var img:DisplayObject = my_mc.txtBox.getImageReference('myImg1');
if (typeof(img) != 'undefined') {
    img.contentLoaderInfo.addEventListener(Event.COMPLETE, onHtmlImageLoaded);
}

function onHtmlImageLoaded(event:Event):void{
    event.target.removeEventListener(Event.COMPLETE, onHtmlImageLoaded);
    Bitmap(event.target.content).smoothing = true;  
}  

строка 'img.contentLoaderInfo ...' выдает эту ошибку, однако:

1119: Access of possibly undefined property content through 
a reference with static type flash.display:DisplayObject.

Ответы [ 3 ]

2 голосов
/ 09 марта 2009

попробуйте это:

var img:Loader = Loader( tx.getImageReference('proceso') );
img.contentLoaderInfo.addEventListener(Event.COMPLETE, onHtmlImageLoaded);

function onHtmlImageLoaded(event:Event):void{
    event.target.removeEventListener(Event.COMPLETE, onHtmlImageLoaded);
    Bitmap(event.target.content).smoothing = true;      
}

это работа.

1 голос
/ 09 марта 2009

Я думаю, что вы просто пропускаете приведение к Loader в обработчике событий:

Bitmap(Loader(event.target).content).smoothing = true;     

Редактировать: Сделайте то же самое при регистрации обработчика события:

 Loader(img).contentLoaderInfo.addEventListener(Event.COMPLETE, onHtmlImageLoaded);
0 голосов
/ 09 марта 2009

Я бы попробовал использовать класс BitmapData для изображения и применить к нему сглаживание.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...