1

我是 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>标签插入不同的属性。然后,加载后,必须循环手动计算每个图像的大小,然后设置它们的缩放属性以保持纵横比。

这个解决方案看起来很复杂,实际上可能不起作用。

我想问一下是否有人有更好更简单的解决方案,而我在阅读文档时可能会错过。

感谢所有帮助。提前致谢。

4

0 回答 0