Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Вопрос: размеры swf при публикации в HTML (http://www.flasher.ru/forum/showthread.php?t=87737)

max_fl 10.11.2006 15:52

Вопрос: размеры swf при публикации в HTML
 
Есть swf файл. Например, banner.swf. Размеры (ширина и высота) его неизвестны. Требуется отобразить баннер в HTML странице. Но как узнать размеры?

Если использовать такой HTML код:

Код:

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0
" id="banner" align="middle">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="banner.swf" />
<param name="quality" value="high" />
<embed src="banner.swf" quality="high" name="banner" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer"; />
</object>

то баннер отображается в размере 240x200 вне зависимости от размера заданного на этапе создания.

При этом если отобразить баннер в плеере, вне браузера, то он показывается в нужных размерах, т.е. в тех, которые были заданы на этапе создания.

Измерять баннер линейкой на экране не хочется, тем более, если речь идет об автоматическом отображении большого количества баннеров разных размеров.

Посоветуйте, как быть?

iNils 10.11.2006 15:54

Для оформления своего кода, надо использовать теги [code][/code].

Dendroid 10.11.2006 15:59

Средствами html? Сложно. Обычно всё-таки идут от обратного - баннеры делают размером под определённый размер, в котором они должны будут показываться.

El Scream 10.11.2006 16:39

У флешки ширина 100% и высота 100%
В html коде вставляешь флеш в таблицу у которой прописываешь высоту и ширину. Вот пример html кода для sample.swf
Код:

<TABLE cellpadding="0" cellspacing="0" border="0" width="300 px" height="300 px"><tr><td>
<OBJECT classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" WIDTH="100%" HEIGHT="100%" id="sample">
<PARAM NAME="movie" VALUE="sample.swf">
<PARAM NAME="quality" VALUE="high">
<PARAM NAME="bgcolor" VALUE="#'+color+'">
<EMBED src="sample.swf" quality="high" WIDTH="100%" HEIGHT="100%" NAME="sample" TYPE="application/x-shockwave-flash" PLUGINSPAGE="http://www.macromedia.com/go/getflashplayer"></EMBED></OBJECT><br>
</td></tr></table>


Dendroid 10.11.2006 16:54

Цитата:

Сообщение от El Scream
У флешки ширина 100% и высота 100%
В html коде вставляешь флеш в таблицу у которой прописываешь высоту и ширину. Вот пример html кода для sample.swf

А высоту и ширину где брать? ;) Как раз в этом и был вопрос.

max_fl 10.11.2006 18:50

Цитата:

Сообщение от Dendroid
Средствами html? Сложно.

Все-таки сложно или невозможно? Если сложно, то как?

Dendroid 10.11.2006 19:39

Дефолтные значения высоты и ширины - понятия эфемерные, не известные ни флэшке, ни браузеру. Хотя прописаны в заголовке swf.
Флэшплеер их знает (ему для вычисления растяжения надо), но никому не скажет.
Флэшка сама их может определить, только если в ней заданы такие константы скриптом, либо, например, если есть объект на стаже, растянутый на весь стаж в редакторе - в этих случаях можно определить.
php ещё может считать в заголовке.
Так что вариант решения зависит от условий вашей задачи и доступных средств.
Видел ещё такой вариант решения: каждый баннер в своём имени содержит размер типа: "banner_100_100_12456.swf" (100х100) - это имя анализируется серверным скриптом (да можно и javascript-ом), и создаётся контейнер нужного размера в html (в javacripte в этом случае удобно использовать SWFObject - просто вычисляя параметры размера на ходу).

max_fl 24.11.2006 13:31

Оказывается в PHP это сделать очень просто:

Код:

list($width, $height, $type, $attr) = getimagesize("img/banner.swf");

PetrV 07.03.2007 11:49

Цитата:

Сообщение от max_fl
Оказывается в PHP это сделать очень просто:

Код:

list($width, $height, $type, $attr) = getimagesize("img/banner.swf");

Не работает! под php4 по крайней мере.
Может это только php5 может узнать размеры флешки?

etc 07.03.2007 12:06

Под php4 работает, если установлена GD.
http://ru.php.net/getimagesize


Часовой пояс GMT +4, время: 01:21.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.