This extension is
EXPERIMENTAL. The behaviour of this extension --
including the names of its functions and anything else documented
about this extension -- may change without notice in a future release of PHP.
Use this extension at your own risk.
First of all: Ming is not an acronym. Ming is an open-source (LGPL)
library which allows you to create SWF ("Flash") format movies. Ming
supports almost all of Flash 4's features, including: shapes, gradients,
bitmaps (pngs and jpegs), morphs ("shape tweens"), text, buttons,
actions, sprites ("movie clips"), streaming mp3, and color transforms
--the only thing that's missing is sound events.
Note that all values specifying length, distance, size, etc. are in "twips",
twenty units per pixel. That's pretty much arbitrary, though, since the player
scales the movie to whatever pixel size is specified in the embed/object tag,
or the entire frame if not embedded.
Ming offers a number of advantages over the existing
PHP/libswf module.
You can use Ming anywhere you can compile the code, whereas libswf is
closed-source and only available for a few platforms, Windows not one of
them. Ming provides some insulation from the mundane details of the SWF
file format, wrapping the movie elements in PHP objects. Also, Ming is
still being maintained; if there's a feature that you want to see, just
let us know ming@opaque.net.
To use Ming with PHP, you first need to build and install the Ming
library. Source code and installation instructions are available at the
Ming home page: http://ming.sourceforge.net/
along with examples, a small tutorial, and the latest news.
Download the ming archive. Unpack the archive. Go in the
Ming directory. make. make install.
This will build libming.so and install it
into /usr/lib/, and copy
ming.h into /usr/include/.
Edit the PREFIX= line in the
Makefile to change the installation directory.
The constants below are defined by this extension, and
will only be available when the extension has either
been compiled into PHP or dynamically loaded at runtime.
The classes below are defined by this extension, and
will only be available when the extension has either
been compiled into PHP or dynamically loaded at runtime.
Ming introduces 13 new objects in PHP, all with matching methods and
attributes. To use them, you need to know about
objects.
SWFShape::drawArc -- Draws an arc of radius r centered at the current location, from angle startAngle to angle endAngle measured clockwise from 12 o'clock
SWFShape::drawCircle -- Draws a circle of radius r centered at the current location, in a counter-clockwise fashion
SWFShape::drawCubic -- Draws a cubic bezier curve using the current position and the three given points as control points
SWFShape::drawCubicTo -- Draws a cubic bezier curve using the current position and the three given points as control points
SWFShape::drawGlyph -- Draws the first character in the given string into the shape using the glyph definition from the given font
SWFSound -- Returns a new SWFSound object from given file
SWFText::addUTF8String -- Writes the given text into this SWFText object at the current pen position,
using the current font, height, spacing, and color
SWFText::getAscent -- Returns the ascent of the current font at its current size, or 0 if not available
SWFText::getDescent -- Returns the descent of the current font at its current size, or 0 if not available
SWFText::getLeading -- Returns the leading of the current font at its current size, or 0 if not available
SWFText::getUTF8Width -- calculates the width of the given string in this text objects current font and size
SWFTextField::addChars -- adds characters to a font that will be available within a textfield