TilloWolff
Guest
Сохранение SWF-объекта
Необходимо сохранить подготовленный swf на диск. Для этого по ману надо использовать SWFMovie->save(). У меня не получилось, потом увидел такой комментарий:
PHP Version 4.3.2 под винду
Ming версии 0.2a
-~{}~ 31.01.05 10:11:
нашел решение проблемы:
Необходимо сохранить подготовленный swf на диск. Для этого по ману надо использовать SWFMovie->save(). У меня не получилось, потом увидел такой комментарий:
Это тоже непомогло. Подскажите как правильно тогда сохранять SWFMovie?broken! try this:
function swfsave($movie,$filename){
ob_start();
$movie->output();
$buffer=ob_get_contents();
ob_end_clean();
$fp = fopen ($filename, "wb");
fwrite ($fp,$buffer);
fclose ($fp);
}
swfsave($m,"/path/to/test.swf");
PHP Version 4.3.2 под винду
Ming версии 0.2a
-~{}~ 31.01.05 10:11:
нашел решение проблемы:
PHP:
<?php
function swfsave($movie,$filename) {
ob_start();
$movie->output();
$buffer=ob_get_contents();
ob_end_clean();
$fp = fopen ($filename, "wb");
fwrite ($fp,$buffer);
fclose ($fp);
}
// $imgFile должен быть JPEG-формата
function makeImgMovie($imgFile, $filename) {
if (is_file($imgFile) && ereg("\.jpg$", $imgFile)) {
$movie = new swfMovie();
$movie->setBackground(255, 255, 255);
$fp = fOpen($imgFile, "rb");
$b = new SWFBitmap($fp);
$w = $b->getWidth();
$h = $b->getHeight();
$movie->setDimension($w, $h);
$s = new SWFShape();
$f = $s->addFill($b);
$s->setRightFill($f);
$s->drawLine($w, 0);
$s->drawLine(0, $h);
$s->drawLine(-$w, 0);
$s->drawLine(0, -$h);
$p = new SWFSprite();
$p->add($s);
$p->nextFrame();
$i = $movie->add($p);
$i->setName("mImg");
/*header("Content-Type:application/x-shockwave-flash");
$movie->output();*/
swfsave($movie, $filename);
fclose($fp);
}
}
?>