我有一个cms,我的客户从其客户端加载横幅广告。他们在上传横幅时不知道尺寸或不想输入尺寸。是否有可能捕获尺寸以设置对象属性,因为我们从数据库中抓取电影以显示在页面中? 我读到了movieinfo对象中的电影尺寸,但这是一个AS3对象吗?在Flash电影之外是否可以使用AS3对象?我可以通过javascript访问loaderobject吗? 我们试图加载的Flash电影不是我们的,我们无法访问闪光灯或类似的东西,因此我们无法编辑与电影本身有关的任何内容。
答案 0 :(得分:0)
这可能会有所帮助
http://blog.codefidelity.com/?p=14
我认为你甚至可以更轻松地使用jquery
尝试类似$(“object”)。height()和$(“object”)。width();如果你只有一个flash的对象标签。
答案 1 :(得分:0)
如果您希望在没有用户输入的情况下100%准确地存储大小,您也可以在服务器端执行某些操作。
例如,这个python脚本将输出压缩类型,版本,大小(压缩或未压缩)和尺寸。
#!/usr/bin/env python
import bitstring
import zlib
swf_file = file("test.swf", "rb")
swf = swf_file.read()
swf_file.close()
bits = bitstring.ConstBitStream(filename="test.swf")
type = "".join(map(chr, bits.readlist('uint:8, uint:8, uint:8')))
print "Compression: ", type
print "Version: ", bits.read('uint:8')
swf_length = bits.read('uintle:32')
if type == 'CWS':
print "Compressed Size: ", swf_length
f = zlib.decompress(bits.bytes[8:], zlib.MAX_WBITS)
bits = bitstring.ConstBitStream(bytes=f, length=swf_length * 8 - 64)
else:
print "Uncompressed Size: ", swf_length
nbits = bits.read('uint:5')
xmin, xmax, ymin, ymax = bits.readlist('uint:{size}, uint:{size}, uint:{size}, uint:{size}'.format(size = nbits))
print "Dimensions: {x}x{y}".format(x = (xmax - xmin) / 20, y = (ymax - ymin) / 20)
示例输出:
Compression: CWS
Version: 10
Compressed Size: 166608
Dimensions: 200x100