5种php生成swf 文件代码

作者:袖梨 2022-06-24

/*
下面这几款php生成flash文件代码,是从简单的生成swf文件到生成 flash动画文件等,每个实例都是经典的。
*/
//首先开启php扩展php_ming
$f = new swffont( '_sans' );

$t = new swftextfield();
$t->setfont( $f );
$t->setcolor( 0, 0, 0 );
$t->setheight( 400 );
$t->addstring( 'hello world' );

$m = new swfmovie();
$m->setdimension( 2500, 800 );
$m->add( $t );

$m->save( 'hello.swf' );
?>

******************************************************************************
例二:让文本动起来text.php
$f = new swffont( '_sans' );

$pt = new swftextfield();
$pt->setfont( $f );
$pt->setcolor( 0, 0, 0 );
$pt->setheight( 400 );
$pt->addstring( '1000' );

$tt = new swftextfield();
$tt->setfont( $f );
$tt->setcolor( 192, 192, 192, 90 );
$tt->setheight( 350 );
$tt->addstring( 'points' );

$m = new swfmovie();
$m->setdimension( 2500, 800 );

$pts = $m->add( $pt );
$pts->moveto( 0, 0 );

$tts = $m->add( $tt );
$tts->moveto( 1300, 200 );

for( $i = 0; $i < 10; $i++ ) {
  $m->nextframe();
  $pts->scaleto( 1.0 + ( $i / 10.0 ), 1.0 + ( $i / 10.0 ) );
}

$m->save( 'text.swf' );
?>

*****************************************************************************
例三:绘制一些图形  绘制简单的直线 line.php
$m = new swfmovie();
$m->setdimension( 300, 300 );

$s = new swfshape();
$s->setline( 10, 0, 0, 0 );
$s->movepento( 10, 10 );
$s->drawlineto( 290, 290 );
$m->add( $s );

$m->save( 'line.swf' );
?>
******************************************************************************
例四:旋转直线
$m = new swfmovie();
$m->setdimension( 300, 300 );

$s = new swfshape();
$s->setline( 5, 0, 0, 0 );
$s->movepento( -100, -100 );
$s->drawlineto( 100, 100 );
$ts = $m->add( $s );

$ts->moveto( 150, 150 );

for( $i = 0; $i < 100; $i++ ) {
  $ts->rotate( 10 );
  $m->nextframe();
}

$m->save( 'rotate.swf' );
?>
***************************************************************************
例五:
使用图片

文本和诸如直线、圆、弧、曲线和矩形之类的简单矢量图形都是十分优秀的,但在理想的情况下,您必须能访问这些 flash 动画中的图片。值得庆幸的是,ming 库使您可以轻松的使用图片,如下所示

$img = new swfbitmap( file_get_contents( 'megan.jpg' ) );

$s = new swfshape();
$imgf = $s->addfill( $img );
$s->setrightfill( $imgf );
$s->movepento( 0, 0 );
$s->drawlineto( $img->getwidth(), 0 );
$s->drawlineto( $img->getwidth(), $img->getheight() );
$s->drawlineto( 0, $img->getheight() );
$s->drawlineto( 0, 0 );

$m = new swfmovie();
$m->setdimension( $img->getwidth() * 2, $img->getheight() * 2 );
$is = $m->add( $s );
$is->moveto( $img->getwidth() / 2, $img->getheight() / 2 );

for( $i = 0; $i < 10; $i++ )
{
$is->skewx( 0.02 );
$is->skewy( -0.03 );
$m->nextframe();
}

$m->save( 'image.swf' );

相关文章

精彩推荐