我是 AS3 的新手,最后一次接触 Flash 是在 Macromedia 第 4 版中。
我正在构建一个 flashapp 来通过 html 数据显示图像。数据通过属性填充到TextArea
对象中。htmlText
容器有固定的TextArea
宽高;
在 html 数据中,我有多个<img>
引用外部图像的标签。但是,当参考的图像大于TextArea
尺寸时,就会出现问题。
import fl.controls.TextArea;
var box:*;
box = TextArea();
box.htmlText = "External HTML Data with multiple <img src='elsewhere.jpg'> tags"
外部数据中的图像没有任何id
属性。
我已经尝试使用 styleSheet 属性设置 css 样式,但 flash 仅支持 CSS1 规范的子集。 http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/StyleSheet.html
所以cssmax-width
无处可寻。
我读过的最接近的解决方案是使用
来自 TextField 对象的getImageReference
方法
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/TextField.html#getImageReference() 。
该方法需要先加载图片中的图片,然后getImageReference
通过id
属性调用获取到DisplayObject
可以操作的图片。
从这里开始,我似乎需要string.match
在外部数据上获取一个方法来匹配并id
为每个<img>
标签插入不同的属性。然后,加载后,必须循环手动计算每个图像的大小,然后设置它们的缩放属性以保持纵横比。
这个解决方案看起来很复杂,实际上可能不起作用。
我想问一下是否有人有更好更简单的解决方案,而我在阅读文档时可能会错过。
感谢所有帮助。提前致谢。