Можно ли зафиксировать / найти размеры флэш-фильма при его загрузке на веб-страницу? - PullRequest
0 голосов
/ 10 сентября 2011

У меня есть смс, где мой клиент загружает рекламные баннеры от своих клиентов.Они не знают размеры или не хотят вводить их при загрузке баннеров.Можно ли зафиксировать размеры, чтобы установить атрибуты объекта, когда мы берем фильмы из БД для отображения на странице?Я читал, что размеры фильма доступны в объекте loaderinfo, но это ведь объект AS3, верно?Доступны ли объекты AS3 вне флэш-фильма?Могу ли я получить доступ к загрузочному объекту через JavaScript?Флэш-ролики, которые мы пытаемся загрузить, не наши, у нас нет доступа к флеш-памяти или чему-то в этом роде, поэтому мы не можем редактировать что-либо, имеющее отношение к самим фильмам.

Ответы [ 2 ]

0 голосов
/ 10 сентября 2011

Вы также можете сделать что-то на стороне сервера, если вы хотите, чтобы размер сохранялся на 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
0 голосов
/ 10 сентября 2011

Это может помочь

http://blog.codefidelity.com/?p=14

Я думаю, вы даже можете использовать jquery с большей легкостью

Попробуйте что-то вроде $ ("объект"). Height () и $ ("объект"). Width (); если у вас есть только один объектный тег для flash.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...