Shockwave Flash Functions
简介
PHP offers the ability to create Shockwave Flash files via Paul Haeberli's libswf module.
Note: SWF support was added in PHP 4 RC2.
The libswf does not have support for Windows. The development of that library has been stopped, and the source is not available to port it to another systems.
For up to date SWF support take a look at the MING functions.
Note: 本扩展已被移动到 » PECL 库中且自以下版本起不再被绑定到 PHP 中:5.0.0.
需求
You need the libswf library to compile PHP with support for this extension. You can download libswf at » ftp://ftp.sgi.com/sgi/graphics/grafica/flash/.
安装
Once you have libswf all you need to do is to configure --with-swf[=DIR] where DIR is a location containing the directories include and lib. The include directory has to contain the swf.h file and the lib directory has to contain the libswf.a file. If you unpack the libswf distribution the two files will be in one directory. Consequently you will have to copy the files to the proper location manually.
运行时配置
本扩展模块在 php.ini 中未定义任何配置选项。
资源类型
本扩展模块未定义任何资源类型。
预定义常量
以下常量由本扩展模块定义,因此只有在本扩展模块被编译到 PHP 中,或者在运行时被动态加载后才有效。
- MOD_COLOR (integer)
- MOD_MATRIX (integer)
- TYPE_PUSHBUTTON (integer)
- TYPE_MENUBUTTON (integer)
- BSHitTest (float)
- BSDown (float)
- BSOver (float)
- BSUp (float)
- OverDowntoIdle (integer)
- IdletoOverDown (integer)
- OutDowntoIdle (integer)
- OutDowntoOverDown (integer)
- OverDowntoOutDown (integer)
- OverUptoOverDown (integer)
- OverUptoIdle (integer)
- IdletoOverUp (integer)
- ButtonEnter (integer)
- ButtonExit (integer)
- MenuEnter (integer)
- MenuExit (integer)
范例
Once you've successfully installed PHP with Shockwave Flash support you can then go about creating Shockwave files from PHP. You would be surprised at what you can do, take the following code:
Example#1 SWF example
<?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, "This be Flash wit 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();
?>
Table of Contents
- swf_actiongeturl — Get a URL from a Shockwave Flash movie
- swf_actiongotoframe — Play a frame and then stop
- swf_actiongotolabel — Display a frame with the specified label
- swf_actionnextframe — Go forward one frame
- swf_actionplay — Start playing the flash movie from the current frame
- swf_actionprevframe — Go backwards one frame
- swf_actionsettarget — Set the context for actions
- swf_actionstop — Stop playing the flash movie at the current frame
- swf_actiontogglequality — Toggle between low and high quality
- swf_actionwaitforframe — Skip actions if a frame has not been loaded
- swf_addbuttonrecord — Controls location, appearance and active area of the current button
- swf_addcolor — Set the global add color to the rgba value specified
- swf_closefile — Close the current Shockwave Flash file
- swf_definebitmap — Define a bitmap
- swf_definefont — Defines a font
- swf_defineline — Define a line
- swf_definepoly — Define a polygon
- swf_definerect — Define a rectangle
- swf_definetext — Define a text string
- swf_endbutton — End the definition of the current button
- swf_enddoaction — End the current action
- swf_endshape — Completes the definition of the current shape
- swf_endsymbol — End the definition of a symbol
- swf_fontsize — Change the font size
- swf_fontslant — Set the font slant
- swf_fonttracking — Set the current font tracking
- swf_getbitmapinfo — Get information about a bitmap
- swf_getfontinfo — Gets font information
- swf_getframe — Get the frame number of the current frame
- swf_labelframe — Label the current frame
- swf_lookat — Define a viewing transformation
- swf_modifyobject — Modify an object
- swf_mulcolor — Sets the global multiply color to the rgba value specified
- swf_nextid — Returns the next free object id
- swf_oncondition — Describe a transition used to trigger an action list
- swf_openfile — Open a new Shockwave Flash file
- swf_ortho2 — Defines 2D orthographic mapping of user coordinates onto the current viewport
- swf_ortho — Defines an orthographic mapping of user coordinates onto the current viewport
- swf_perspective — Define a perspective projection transformation
- swf_placeobject — Place an object onto the screen
- swf_polarview — Define the viewer's position with polar coordinates
- swf_popmatrix — Restore a previous transformation matrix
- swf_posround — Enables or Disables the rounding of the translation when objects are placed or moved
- swf_pushmatrix — Push the current transformation matrix back unto the stack
- swf_removeobject — Remove an object
- swf_rotate — Rotate the current transformation
- swf_scale — Scale the current transformation
- swf_setfont — Change the current font
- swf_setframe — Switch to a specified frame
- swf_shapearc — Draw a circular arc
- swf_shapecurveto3 — Draw a cubic bezier curve
- swf_shapecurveto — Draw a quadratic bezier curve between two points
- swf_shapefillbitmapclip — Set current fill mode to clipped bitmap
- swf_shapefillbitmaptile — Set current fill mode to tiled bitmap
- swf_shapefilloff — Turns off filling
- swf_shapefillsolid — Set the current fill style to the specified color
- swf_shapelinesolid — Set the current line style
- swf_shapelineto — Draw a line
- swf_shapemoveto — Move the current position
- swf_showframe — Display the current frame
- swf_startbutton — Start the definition of a button
- swf_startdoaction — Start a description of an action list for the current frame
- swf_startshape — Start a complex shape
- swf_startsymbol — Define a symbol
- swf_textwidth — Get the width of a string
- swf_translate — Translate the current transformations
- swf_viewport — Select an area for future drawing