在没有width和height属性的AS3 TextField中使用img标记

时间:2010-07-13 19:59:32

标签: html actionscript-3

我正在尝试将Shopify博客API中的HTML加载到Flash中的TextField中。问题是Shopify没有为博客文章中的图像添加宽度和高度属性。当我将它们加载到Flash中时,图像的宽度和高度将被忽略,TextField的高度也是错误的,这会使我的滚动条与其他东西混在一起。

有没有办法在加载图像时读取图像的宽度和高度?在进入Flash之前我可以用PHP做到这一点,但我不确定如何。

3 个答案:

答案 0 :(得分:0)

不确定关于在flash中获取图像信息的原始问题,但在PHP中它不会有太多麻烦,尽管它会在一定程度上减慢这个过程。

步骤1:设置一个PHP代理,您可以从闪存中调用它。

步骤2:在PHP代理中,抓取HTML后,遍历所有img-tags。 (您可以轻松完成此操作,例如PHP Simple HTML DOM

步骤3:循环时,如果img-tag中缺少图像尺寸,请下载图像,检查图像大小并更新标记。 (使用PHP Simple HTML DOM也很容易)

步骤4:将更新的HTML回显到您的Flash电影。

答案 1 :(得分:0)

如果使用BitmapData class,您可以访问图像的宽度和高度,以及其他有用的属性和方法。

答案 2 :(得分:0)

如果加载图像数据(AIR中的FlashLlayer或FileStream中的URLLoader) (FileStream可以让你同步执行) 通过一些努力,您可以同步解析文件HEADER中图像的宽度和高度。

如果要显示图像数据中的图像,请将其放在loader.loadBytes中,以便Adobe为您解码。听起来你希望它出现在htmlText中。

如果您可以设法采用同步路径来获取所有这些数据,那么您的文本字段可以考虑下一帧之前的图像高度,这样它就不会显得紧张。