Функции Ming для Flash
LIX. Функции Ming для Flash
Предупреждение! |
---|
Это расширение является ЭКСПЕРИМЕНТАЛЬНЫМ. Поведение этого расширения, имена его функций и всё, что задокументировано, может измениться в последующих релизах РНР без предупреждения. Вы предупреждены и можете использовать это расширение только под вашу ответственность. |
Введение
Ming это открытый ресурс - библиотека (LGPL), которая позволяет создавать клипы формата SWF ("Flash"). Ming поддерживает почти все возможности Flash 4, включая: фигуры/shapes, градиенты/gradients, растры/bitmaps (pngs и jpegs), morphs ("shape tweens"), текст, кнопки, акции/actions, спрайты/sprites ("movie clips"), потоковый mp3 и трансформации цвета - единственное, что не поддерживается - звуковые события.
Ming это не акроним.
Обратите внимание, что все значения, специфицирующие длину, расстояние, размер и т.и., даны в "twips", twenty units per pixel/20 единиц на пиксел. Это, однако, довольно приблизительные величины, поскольку player масштабирует клип до размера пиксела, специфицированного в тэге embed/object, или всего фрэйма, если не внедрён.
Ming имеет преимущества по сравнению с существующим модулем PHP/libswf. Вы можете использовать Ming везде, где компилируется код, в то время как libswf это ресурс, доступный только для некоторых платформ, и Windows не входит в их число. Ming несколько изолирует от некоторых деталей формата файлов SWF, предоставляя РНР объекты-оболочки для элементов клипа. Также Ming продолжает поддерживаться; если есть какая-то возможность, которой вы не нашли, просто дайте знать по адресу ming@opaque.net.
Ming были введены в PHP 4.0.5.
Установка
Для использования Ming с PHP вам сначала нужно построить и установить Ming-библиотеку. Исходный код и инструкции находятся на домашней странице Ming http://www.opaque.net/ming/ вместе с примерами, небольшим учебником и последними новостями.
Загрузите архив ming. Распакуйте его. Перейдите в директорию Ming. make. make install.
Это построит libming.so и установит его в /usr/lib/ и скопирует ming.h в /usr/include/. Отредактируйте строку PREFIX= в Makefile для изменения директории инсталяции.
встраивание в php (unix)
mkdir <phpdir>/ext/ming
cp php_ext/* <phpdir>/ext/ming
cd <phpdir>
./buildconf
./configure --with-ming <другие
опции конфигурации>
Постройте и установите РНР как обычно, рестартуйте web-сервер, если нужно.
встраивание в php (unix)
Загрузите php_ming.so.gz, распакуйте и скопируйте в вашу директорию РНР-модулей. (Вы можете найти вашу директорию РНР-модулей, запустив php-config --extension-dir). Теперь либо просто добавьте extension=php_ming.so в ваш файл php.ini, либо поместите dl('php_ming.so'); в самом начале ваших Ming-скриптов.
Как использовать Ming
Ming вводит в РНР 13 новых объектов с соответствующими атрибутами и методами. Для использования их вам необходимо знать об объектах.
- Содержание
- ming_setcubicthreshold - устанавливает cubic threshold (?)
- ming_setscale - устанавливает масштаб (?)
- ming_useswfversion - использует SWF-версию (?)
- SWFAction - создаёт новую Action/Акцию
- SWFBitmap->getHeight — возвращает высоту растра
- SWFBitmap->getWidth — возвращает ширину растра
- SWFBitmap - загружает Bitmap-объект
- swfbutton_keypress — возвращает флаг акции для keyPress(char)
- SWFbutton->addAction - добавляет акцию
- SWFbutton->addShape - добавляет фигуру кнопке
- SWFbutton->setAction - устанавливает акцию
- SWFbutton->setdown - псевдоним для addShape(shape, SWFBUTTON_DOWN)
- SWFbutton->setHit - псевдоним для addShape(shape, SWFBUTTON_HIT)
- SWFbutton->setOver - псевдоним для addShape(shape, SWFBUTTON_OVER)
- SWFbutton->setUp - псевдоним для addShape(shape, SWFBUTTON_UP)
- SWFbutton - создаёт новую кнопку
- SWFDisplayItem->addColor - добавляет данный цвет к трансформации цвета данного элемента
- SWFDisplayItem->move - перемещает объект в относительных координатах
- SWFDisplayItem->moveTo - перемещает объект в глобальных координатах
- SWFDisplayItem->multColor - умножает трансформацию цвета элемента
- SWFDisplayItem->remove - удаляет объект из клипа
- SWFDisplayItem->Rotate - поворачивает объект в относительных координатах
- SWFDisplayItem->rotateTo - поворачивает объект в глобальных координатах
- SWFDisplayItem->scale - масштабирует объект в относительных координатах
- SWFDisplayItem->scaleTo - масштабирует объект в глобальных координатах
- SWFDisplayItem->setDepth - устанавливает z-порядок (в стэке)
- SWFDisplayItem->setName - устанавливает имя объекта
- SWFDisplayItem->setRatio - устанавливает пропорцию объекта
- SWFDisplayItem->skewX - устанавливает X-наклон
- SWFDisplayItem->skewXTo - устанавливает X-наклон
- SWFDisplayItem->skewY - устанавливает Y-наклон
- SWFDisplayItem->skewYTo - устанавливает Y-наклон
- SWFDisplayItem - создаёт новый объект displayitem
- SWFFill->moveTo - перемещает fill-источник
- SWFFill->rotateTo - устанавливает fill-поворот
- SWFFill->scaleTo - устанавливает fill-масштаб
- SWFFill->skewXTo - устанавливает fill x-наклон
- SWFFill->skewYTo - устанавливает fill y-наклон
- SWFFill - загружает SWFFill-объект
- swffont->getwidth — возвращает ширину строки
- SWFFont - загружает определение шрифта
- SWFGradient->addEntry - добавляет вхождение в gradient-список
- SWFGradient - создаёт gradient-объект
- SWFMorph->getshape1 - получает дескриптор для начальной фигуры
- SWFMorph->getshape2 - получает дескриптор для конечной фигуры
- SWFMorph - создаёт новый SWFMorph-объект
- SWFMovie->add - добавляет тип и данные в клип
- SWFMovie->nextframe - перемещает на следующий фрэйм анимации
- SWFMovie->output - выполняет дамп вашего любовно приготовленного клипа
- SWFMovie->remove - удаляет экземпляр объекта из display-списка
- SWFMovie->save - сохраняет ваш клип в файле
- SWFMovie->setbackground - устанавливает цвет фона
- SWFMovie->setdimension - устанавливает ширину и высоту клипа
- SWFMovie->setframes - устанавливает общее количество фрэймов в анимации
- SWFMovie->setrate - устанавливает класс фрэйма анимации
- SWFMovie->streammp3 - запускает поток MP3-файла
- SWFMovie - создаёт новый movie-объект, представляющий клип SWF версии 4
- SWFShape->addFill - добавляет сплошную заливку фигуре
- SWFShape->drawCurve - рисует кривую (относительно)
- SWFShape->drawCurveTo - рисует кривую
- SWFShape->drawLine - рисует линию (относительно)
- SWFShape->drawLineTo - рисует линию
- SWFShape->movePen - перемещает карандаш фигуры (относительно)
- SWFShape->movePenTo - перемещает карандаш фигуры
- SWFShape->setLeftFill - устанавливает левый цвет растра
- SWFShape->setLine - устанавливает стиль линии фигуры
- SWFShape->setRightFill - устанавливает правый цвет растра
- SWFShape - создаёт новый shape-объект
- SWFSprite->add - добавляет объект в спрайт
- SWFSprite->nextframe - перемещает к следующему фрэйму анимации
- SWFSprite->remove - удаляет объект из спрайта
- SWFSprite->setframes - устанавливает общее количество фрэймов в анимации
- SWFSprite - создаёт клип (спрайт)
- SWFText->addString - рисует строку
- SWFText->getWidth - вычисляет ширину строки
- SWFText->moveTo - перемещает карандаш
- SWFText->setColor - устанавливает текущий цвет шрифта
- SWFText->setFont - устанавливает текущий шрифт
- SWFText->setHeight - устанавливает высоту текущего шрифта
- SWFText->setspacing - устанавливает spacing текущего шрифта
- SWFText - создаёт новый SWFText-объект
- SWFTextField->addstring - объединяет данную строку с текстовым полем
- SWFTextField->align - устанавливает выравнивание текстового поля
- SWFTextField->setbounds - устанавливает ширину и высоту текстового поля
- SWFTextField->setcolor - устанавливает цвет текстового поля
- SWFTextField->setFont - устанавливает шрифт текстового поля
- SWFTextField->setHeight - устанавливает высоту шрифта данного текстового поля
- SWFTextField->setindentation - устанавливает отступ первой строчки абзаца
- SWFTextField->setLeftMargin - устанавливает ширину левого поля текстового поля
- SWFTextField->setLineSpacing - устанавливает межстрочный интервал текстового поля
- SWFTextField->setMargins - устанавливает ширину полей текстового поля
- SWFTextField->setname - устанавливает имя переменной
- SWFTextField->setrightMargin - устанавливает ширину правого поля текстового поля
- SWFTextField - создаёт объект текстового поля