Главная Статьи Написать
 
Начнём
Введение
Инсталяция
Конфигурирование
Безопасность
Справочник Языка
Базовый синтаксис
Типы
Переменные
Константы
Выражения
Операции
Структуры управления
Функции
Классы и Объекты
Ссылки. Разъяснение.
Возможности
Обработка Ошибок
Создание изображений и манипуляции с ними
HTTP-аутентификация в PHP
Куки
Обработка загрузки файлов
Использование удалённых файлов
Обслуживание соединений
Постоянные соединения с базами данных
Безопасный режим
Использование PHP из командной строки
Функции. Справочник.
Функции, специфические для Apache
Array-функции
Aspell-функции [не рекомендуются]
BCMath математические функции произвольной точности
Bzip2 Compression-функции
Calendar-функции
CCVS API-функции
Функции поддержки COM для Windows
Class/Object-функции
ClibPDF-функции
Crack-функции
CURL, Client URL Library-функции
Cybercash payment-функции
Crédit Mutuel CyberMUT-функции
Cyrus IMAP -функции администрирования
Функции типов символов
Функции абстрактного слоя БД (dbm-стиль)
Дата и Время
dBase-функции
DBM-функции
dbx-функции
DB++-функции
Direct IO-функции
Функции директорий
DOM XML-функции
.NET-функции
Обработка ошибок и логинг
FrontBase-функции
filePro-функции
Функции файловой системы
Forms Data Format-функции
FriBiDi-функции
FTP-функции
Функции работы с функциями
Gettext
GMP-функции
HTTP-функции
Hyperwave-функции
Hyperwave API-функции
ICAP-функции [не рекомендуются]
iconv-функции
Image-функции
IMAP, POP3 и NNTP-функции
Informix-функции
InterBase-функции
Ingres II-функции
IRC Gateway-функции
Java
LDAP-функции
Mail-функции
mailparse-функции
Mathematical-функции
Многобайтные строки
MCAL-функции
Mcrypt Encryption-функции
Mhash-функции
Mimetype-функции
Microsoft SQL Server-функции
Ming-функции для Flash
Прочие функции
mnoGoSearch-функции
mSQL-функции
MySQL-функции
Mohawk Software -функции обработчика сессии
muscat-функции
Network-функции
Ncurses -функции управления терминалом
Lotus Notes-функции
Unified ODBC-функции
Oracle 8-функции
OpenSSL-функции
Oracle-функции
Ovrimos SQL-функции
Управление выводом
Перегрузка свойств объектов и вызовов методов
PDF-функции
Verisign Payflow Pro-функции
PHP. Опции & Информация
POSIX-функции
PostgreSQL-функции
Управление процессом
Выполнение программы
Printer-функции
Pspell-функции
GNU Readline
GNU Recode-функции
Функции регулярных выражений (Perl-совместимые)
qtdom-функции
Функции регулярных выражений (POSIX расширенная)
Semaphore, Shared Memory и IPC-функции
SESAM database-функции
Обслуживание сессий
Shared Memory-функции
Shockwave Flash-функции
SNMP-функции
Socket-функции
String-функции
Sybase-функции
URL-функции
Функции переменных
vpopmail-функции
W32api-функции
WDDX-функции
XML parser-функции
XMLRPC-функции
XSLT-функции
YAZ-функции
YP/NIS-функции
Zip File-функции (доступ только для чтения)
Zlib Compression-функции
Расширение PHP 4.0
Обзор
Возможность расширения
Строение исходного кода
Система автоматического построения РНР
Создание расширений
Использование расширений
Решение проблем
Исходные Ресурсы. Обсуждение.
Приём аргументов
Создание переменных
Дублирование содержимого переменной: конструктор Copy
Возвращаемые значения
Печать информации
Startup и Shutdown-функции
Вызов пользовательских функций
Поддержка файлов инициализации
Что дальше?
Справочник: некоторые макросы конфигурации
Макросы API
FAQ: Frequently Asked Questions
Общая информация
Списки рассылки
Получение PHP
Вопросы о базах данных
Инсталяция
Проблемы построения
Использование PHP
PHP и HTML
PHP и COM
PHP и другие языки
Переход от PHP 2 к PHP 3
Переход от PHP 3 к PHP 4
Другие вопросы
Приложения
История PHP и смежных проектов
Переход от PHP 3 к PHP 4
Переход от PHP/FI 2 к PHP 3
Отладка PHP
Расширение PHP
Список псевдонимов функций
Список зарезервированных слов
Список типов ресурсов
Список лексем разборщика
Об этом учебнике




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 - выбирает область для последующего рисования