Сохранение SWF-объекта

TilloWolff

Guest
Сохранение SWF-объекта

Необходимо сохранить подготовленный swf на диск. Для этого по ману надо использовать SWFMovie->save(). У меня не получилось, потом увидел такой комментарий:
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");
Это тоже непомогло. Подскажите как правильно тогда сохранять SWFMovie?

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);
	}
}
?>
 
Сверху