我在舞台上有一个旋转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.
答案 0 :(得分:2)
试试这个:
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 :(得分:1)
我认为你只是在你的事件处理程序中错过了对Loader
的强制转换:
Bitmap(Loader(event.target).content).smoothing = true;
编辑:在注册事件处理程序时执行相同的操作:
Loader(img).contentLoaderInfo.addEventListener(Event.COMPLETE, onHtmlImageLoaded);
答案 2 :(得分:0)
我会尝试将BitmapData类用于图像,并对其应用平滑。