Hallo,
ich habe eine Datei zur Erstellung eines Banners, welche mit der Klasse SWFMovie arbeitet.
Allerdings wird die Klasse gar nicht erst gefunden... Fehler: "Class "SWFMovie" not found...
Ich arbeit mit xampp unter windows, extensions php_ming.dll sind gesetzt. Ist hier eventuell ein Pfad zu beachten?
Ich bin auf diesem Gebiet neu - einige kleine Beispiele - dachte ich - dürften hier aber nicht so schwierig sein...
Nun, habt Ihr hier Erfahrungswerte?
Hier mein Code:
<?php
$movie = new SWFMovie();
$movie->setDimension(468,60);
$movie->setBackground(255,153,51);
$movie->setRate(15);
$text2 = new SWFTextField();
$text2->setFont(new SWFFont('Arial'));
$text2->setColor(102,102,102);
$text2->setHeight(20);
$text2->setBounds(400,60);
$text2->align(SWFTEXTFIELD_ALIGN_CENTER);
$text2->addString('Advanced solutions for web professionals');
$logo1 = new SWFBitmap(fopen("logo.jpg", "r"));
$logo2 = new SWFBitmap(fopen("elephant.jpg", "r"));
$box = new SWFShape();
$box->setRightFill(0,0,0);
$box->movePenTo(0,0);
$box->drawLine(468,0);
$box->drawLine(0,60);
$box->drawLine(-468,0);
$box->drawLine(0,-60);
$button = new SWFButton();
$button->addShape($box, SWFBUTTON_HIT);
$button->addAction(new SWFAction("stop(); gotoFrame(27);"), SWFBUTTON_MOUSEOVER);
$button->addAction(new SWFAction('this.getURL("http://www.phpsolmag.org");'), SWFBUTTON_MOUSEDOWN);
$button->addAction(new SWFAction("play();"), SWFBUTTON_MOUSEOUT);
$movie->add($button);
$logo1 = $movie->add($logo1);
$logo1->moveTo(469,0);
$movie->nextFrame();
for ($i=0;$i<26;$i++) {
$text1 = new SWFTextField();
$text1->setFont(new SWFFont('Tahoma'));
$text1->setColor(102,102,102);
$text1->setHeight($i/1.6+1);
$text1->setBounds(234,60);
$text1->align(SWFTEXTFIELD_ALIGN_CENTER);
$text1->addString("World's biggest\nmagazine about PHP");
$text1 = $movie->add($text1);
$text1->moveTo(0,10);
$logo1->move(-9,0);
$movie->nextFrame();
if ($i!=25) $movie->remove($text1);
}
for ($i=0;$i<30;$i++) {
$movie->nextFrame();
}
$text2 = $movie->add($text2);
$text2->moveTo(469,15);
$logo2 = $movie->add($logo2);
$logo2->moveTo(859,0);
$movie->remove($logo1);
for ($i=0;$i<36;$i++) {
$movie->nextFrame();
$text2->move(-13,0);
$logo2->move(-13,0);
if ($i>20) $text1->move(-13,0);
}
$movie->remove($text1);
for ($i=0;$i<30;$i++) {
$movie->nextFrame();
}
$movie->remove($text2);
function cover ($photo, $i) {
$width = $photo->getWidth();
$height = $photo->getHeight();
$cover = new SWFShape();
$cover->setRightFill($cover->addFill($photo));
$cover->drawLine($width*$i/30, 0);
$cover->drawLine(0, $height*$i/30);
$cover->drawLine(-$width*$i/30, 0);
$cover->drawLine(0, -$height*$i/30);
return $cover;
}
for ($i=0;$i<31;$i++) {
$cover1 = cover(new SWFBitmap(fopen("cover1.jpg", "r")), $i);
$cover1 = $movie->add($cover1);
$cover1->moveTo(114-$i,30-$i);
$cover1->rotate(12*$i);
$cover2 = cover(new SWFBitmap(fopen("cover2.jpg", "r")), $i);
$cover2 = $movie->add($cover2);
$cover2->moveTo(242-$i,30-$i);
$cover2->rotate(12*$i);
$cover3 = cover(new SWFBitmap(fopen("cover3.jpg", "r")), $i);
$cover3 = $movie->add($cover3);
$cover3->moveTo(370-$i,30-$i);
$cover3->rotate(12*$i);
if ($i!=30) {
$i!=0 ? $b = $a : $b = 1;
$i!=0 ? $a *= 0.94 : $a = 0.94;
$logo2->move(68*$b-68*$a,60*$b-60*$a);
$logo2->scale(0.94,0.94);
} else {
$movie->remove($logo2);
}
$movie->nextFrame();
if ($i!=30) {
$movie->remove($cover1);
$movie->remove($cover2);
$movie->remove($cover3);
}
}
for ($i=0;$i<30;$i++) {
$movie->nextFrame();
}
$movie->save("banner.swf");
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title></title>
</head>
<body>
<p style="text-align: center">
<object width="468" height="60">
<param name="movie" value="banner.swf" />
<embed src="banner.swf" width="468" height="60">
</embed>
</object>
</p>
</body>
</html>
Ich verstehe es so, dass die Datei "banner.swf" erstellt wird?
Gruß & danke für einen Tipp.
ich habe eine Datei zur Erstellung eines Banners, welche mit der Klasse SWFMovie arbeitet.
Allerdings wird die Klasse gar nicht erst gefunden... Fehler: "Class "SWFMovie" not found...
Ich arbeit mit xampp unter windows, extensions php_ming.dll sind gesetzt. Ist hier eventuell ein Pfad zu beachten?
Ich bin auf diesem Gebiet neu - einige kleine Beispiele - dachte ich - dürften hier aber nicht so schwierig sein...
Nun, habt Ihr hier Erfahrungswerte?
Hier mein Code:
<?php
$movie = new SWFMovie();
$movie->setDimension(468,60);
$movie->setBackground(255,153,51);
$movie->setRate(15);
$text2 = new SWFTextField();
$text2->setFont(new SWFFont('Arial'));
$text2->setColor(102,102,102);
$text2->setHeight(20);
$text2->setBounds(400,60);
$text2->align(SWFTEXTFIELD_ALIGN_CENTER);
$text2->addString('Advanced solutions for web professionals');
$logo1 = new SWFBitmap(fopen("logo.jpg", "r"));
$logo2 = new SWFBitmap(fopen("elephant.jpg", "r"));
$box = new SWFShape();
$box->setRightFill(0,0,0);
$box->movePenTo(0,0);
$box->drawLine(468,0);
$box->drawLine(0,60);
$box->drawLine(-468,0);
$box->drawLine(0,-60);
$button = new SWFButton();
$button->addShape($box, SWFBUTTON_HIT);
$button->addAction(new SWFAction("stop(); gotoFrame(27);"), SWFBUTTON_MOUSEOVER);
$button->addAction(new SWFAction('this.getURL("http://www.phpsolmag.org");'), SWFBUTTON_MOUSEDOWN);
$button->addAction(new SWFAction("play();"), SWFBUTTON_MOUSEOUT);
$movie->add($button);
$logo1 = $movie->add($logo1);
$logo1->moveTo(469,0);
$movie->nextFrame();
for ($i=0;$i<26;$i++) {
$text1 = new SWFTextField();
$text1->setFont(new SWFFont('Tahoma'));
$text1->setColor(102,102,102);
$text1->setHeight($i/1.6+1);
$text1->setBounds(234,60);
$text1->align(SWFTEXTFIELD_ALIGN_CENTER);
$text1->addString("World's biggest\nmagazine about PHP");
$text1 = $movie->add($text1);
$text1->moveTo(0,10);
$logo1->move(-9,0);
$movie->nextFrame();
if ($i!=25) $movie->remove($text1);
}
for ($i=0;$i<30;$i++) {
$movie->nextFrame();
}
$text2 = $movie->add($text2);
$text2->moveTo(469,15);
$logo2 = $movie->add($logo2);
$logo2->moveTo(859,0);
$movie->remove($logo1);
for ($i=0;$i<36;$i++) {
$movie->nextFrame();
$text2->move(-13,0);
$logo2->move(-13,0);
if ($i>20) $text1->move(-13,0);
}
$movie->remove($text1);
for ($i=0;$i<30;$i++) {
$movie->nextFrame();
}
$movie->remove($text2);
function cover ($photo, $i) {
$width = $photo->getWidth();
$height = $photo->getHeight();
$cover = new SWFShape();
$cover->setRightFill($cover->addFill($photo));
$cover->drawLine($width*$i/30, 0);
$cover->drawLine(0, $height*$i/30);
$cover->drawLine(-$width*$i/30, 0);
$cover->drawLine(0, -$height*$i/30);
return $cover;
}
for ($i=0;$i<31;$i++) {
$cover1 = cover(new SWFBitmap(fopen("cover1.jpg", "r")), $i);
$cover1 = $movie->add($cover1);
$cover1->moveTo(114-$i,30-$i);
$cover1->rotate(12*$i);
$cover2 = cover(new SWFBitmap(fopen("cover2.jpg", "r")), $i);
$cover2 = $movie->add($cover2);
$cover2->moveTo(242-$i,30-$i);
$cover2->rotate(12*$i);
$cover3 = cover(new SWFBitmap(fopen("cover3.jpg", "r")), $i);
$cover3 = $movie->add($cover3);
$cover3->moveTo(370-$i,30-$i);
$cover3->rotate(12*$i);
if ($i!=30) {
$i!=0 ? $b = $a : $b = 1;
$i!=0 ? $a *= 0.94 : $a = 0.94;
$logo2->move(68*$b-68*$a,60*$b-60*$a);
$logo2->scale(0.94,0.94);
} else {
$movie->remove($logo2);
}
$movie->nextFrame();
if ($i!=30) {
$movie->remove($cover1);
$movie->remove($cover2);
$movie->remove($cover3);
}
}
for ($i=0;$i<30;$i++) {
$movie->nextFrame();
}
$movie->save("banner.swf");
?>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title></title>
</head>
<body>
<p style="text-align: center">
<object width="468" height="60">
<param name="movie" value="banner.swf" />
<embed src="banner.swf" width="468" height="60">
</embed>
</object>
</p>
</body>
</html>
Ich verstehe es so, dass die Datei "banner.swf" erstellt wird?
Gruß & danke für einen Tipp.
Kommentar