|
XCIV. Функции Shockwave Flash
PHP предлагает возможность создания файлов Shockwave Flash с помощью модуля libswf,
автор Paul Haeberli. Вы можете загрузить libswf с ftp://ftp.sgi.com/sgi/graphics/grafica/flash.
Если у вас есть libswf, то всё, что вам нужно, это сконфигурировать --with-swf[=DIR], где DIR это местонахождение include и lib-директорий. Директория include
должна содержать файл swf.h, а директория lib должна содержать файл libswf.a. Если
вы распаковали дистрибутив libswf, эти два файла должны находиться в одной
директории. Соответственно, вы должны скопировать их вручную в соответствующие места.
После того как вы успешно установили PHP с поддержкой Shockwave Flash, вы
можете создавать Shockwave-файлы из PHP.
Вы будете удивлены, но для этого понадобится сделать всего лишь:
Пример 1. SWF
<?php
swf_openfile ("test.swf", 256, 256, 30, 1, 1, 1);
swf_ortho2 (-100, 100, -100, 100);
swf_defineline (1, -70, 0, 70, 0, .2);
swf_definerect (4, 60, -10, 70, 0, 0);
swf_definerect (5, -60, 0, -70, 10, 0);
swf_addcolor (0, 0, 0, 0);
swf_definefont (10, "Mod");
swf_fontsize (5);
swf_fontslant (10);
swf_definetext (11, "Это Flash в PHP!", 1);
swf_pushmatrix ();
swf_translate (-50, 80, 0);
swf_placeobject (11, 60);
swf_popmatrix ();
for ($i = 0; $i < 30; $i++) {
$p = $i/(30-1);
swf_pushmatrix ();
swf_scale (1-($p*.9), 1, 1);
swf_rotate (60*$p, 'z');
swf_translate (20+20*$p, $p/1.5, 0);
swf_rotate (270*$p, 'z');
swf_addcolor ($p, 0, $p/1.2, -$p);
swf_placeobject (1, 50);
swf_placeobject (4, 50);
swf_placeobject (5, 50);
swf_popmatrix ();
swf_showframe ();
}
for ($i = 0; $i < 30; $i++) {
swf_removeobject (50);
if (($i%4) == 0) {
swf_showframe ();
}
}
swf_startdoaction ();
swf_actionstop ();
swf_enddoaction ();
swf_closefile ();
?>
|
|
Примечание:
поддержка SWF была введена в PHP 4 RC2.
libswf не поддерживает Windows. Разработка этой библиотеки остановлена, и
исходный код недоступен для переноса на другие системы.
Более современная поддержка SWF дана в функциях
MING.
-
Содержание
-
swf_actiongeturl - получает URL из Shockwave Flash-клипа
-
swf_actiongotoframe - проигрывает кадр и останавливается
-
swf_actiongotolabel - отображает кадр со специфицированной меткой
-
swf_actionnextframe - переходит на один кадр вперёд
-
swf_actionplay - стартует проигрывание flash-клипа, начиная с текущего кадра
-
swf_actionprevframe - переходит на один кадр назад
-
swf_actionsettarget - устанавливает контекст акций
-
swf_actionstop - останавливает проигрывание flash-клипа, начиная с текущего кадра
-
swf_actiontogglequality - переключает высокое/низкое качество
-
swf_actionwaitforframe - пропускает акции, если кадр не загружен
-
swf_addbuttonrecord - управляет размещением , видом и активной областью текущей кнопки
-
swf_addcolor - устанавливает специфицированное rgba-значение глобального цвета дополнения
-
swf_closefile - закрывает текущий Shockwave Flash-файл
-
swf_definebitmap - определяет растр
-
swf_definefont - определяет шрифт
-
swf_defineline - определяет линию
-
swf_definepoly - определяет многоугольник
-
swf_definerect - определяет прямоугольник
-
swf_definetext - определяет текстовую строку
-
swf_endbutton - заканчивает определение текущей кнопки
-
swf_enddoaction - заканчивает ткущую акцию
-
swf_endshape - завершает определение текущей фигуры
-
swf_endsymbol - заканчивает определение символа
-
swf_fontsize - изменяет размер шрифта
-
swf_fontslant - устанавливает наклон шрифта
-
swf_fonttracking - устанавливает трэкинг текущего шрифта
-
swf_getbitmapinfo - получает информацию о растре
-
swf_getfontinfo - высота в пикселах заглавной А и х в нижнем регистре
-
swf_getframe - получает номер текущего кадра
-
swf_labelframe - помечает текущий кадр
-
swf_lookat - определяет визуальную трансформацию
-
swf_modifyobject - модифицирует объект
-
swf_mulcolor - устанавливает специфицированное rgba-значение глобального цвета умножения
-
swf_nextid - возвращает id следующего свободного объекта
-
swf_oncondition - описывает переход, используемый для переключения списка акций
-
swf_openfile - открывает новый Shockwave Flash-файл
-
swf_ortho2 - определяет 2D орфографическое отображение координат пользователя в текущий порт просмотра
-
swf_ortho - определяет орфографическое отображение координат пользователя в текущий порт просмотра
-
swf_perspective - определяет трансформацию проекции перспективы
-
swf_placeobject - помещает объект на экран
-
swf_polarview - определяет позицию зрителя полярными координатами
-
swf_popmatrix - восстанавливает матрицу предыдущей трансформации
-
swf_posround - включает или отключает округление трансляции, когда объекты перемещаются или размещаются
-
swf_pushmatrix - проталкивает матрицу текущей трансформации обратно в стэк
-
swf_removeobject - удаляет объект
-
swf_rotate - поворачивает текущую трансформацию
-
swf_scale - масштабирует текущую трансформацию
-
swf_setfont - изменяет текущий шрифт
-
swf_setframe - переключает на специфицированный кадр
-
swf_shapearc - рисует дугу окружности
-
swf_shapecurveto3 - рисует кубическую кривую Безье (извиняйте, если что не так ... Прим. перев.)
-
swf_shapecurveto - рисует квадратную кривую Безье между двумя точками
-
swf_shapefillbitmapclip - устанавливает текущий режим заполнения - clipped bitmap
-
swf_shapefillbitmaptile - устанавливает текущий режим заполнения - tiled bitmap
-
swf_shapefilloff - отключает заполнение
-
swf_shapefillsolid - устанавливает текущий стиль заполнения специфицированным цветом
-
swf_shapelinesolid - устанавливает стиль текущей линии
-
swf_shapelineto - рисует линию
-
swf_shapemoveto - перемещает текущую позицию
-
swf_showframe - отображает текущий кадр
-
swf_startbutton - стартует определение кнопки
-
swf_startdoaction - стартует описание списка акций текущего кадра
-
swf_startshape - стартует сложную фигуру
-
swf_startsymbol - определяет символ
-
swf_textwidth - получает ширину строки
-
swf_translate - транслирует текущие трансформации
-
swf_viewport - выбирает область для последующего рисования
|
|