[ dinke @ 05.06.2004. 16:58 ] @
Dakle, potrebno mi je da uploadovani animirani gif konvertujem u flash file. Moja početna ideja bila je sledeća: 1) Konvertovati sa ImageMagick convert utility-jem gif u seriju png-ova (po jedna za svaki frejm). Npr: Code: bi napravilo niz slika: slike.png.0, slike.png.1 ... slike.png.n (gde je n broj frejmova).convert animirani.gif slike.png 2) Obzirom da ming može raditi samo sa jpg ili dbl slikama konvertovati sve gore kreirane png-ove u dbl fajlove koristeći se png2dbl utility-tijem (koji ide uz ming). 3) Kreirati animaciju koristeći ming SWFMovie i SWFBitmap klase, tako što se u svaki novi frejm ubaci novi bitmap, kao na primer Code: ... //1 i 2 vec odradjeno, ucitavamo dbl fajlove //kreiraj novi swf fajl $m = new SWFMovie(); $m->setDimension($width,$height); //ubaci pocetnu sliku $file=fopen("path/to/file/animirani.0.dbl","r"); $m->add(new SWFBitmap($file)); $i=0; //dodaj onoliko slika koliko je kreirano //ovo je samo primer, u pravom scriptu radila bi se provera sa file_exist while($file=fopen("path/to/file/animirani.".$i.".dbl","r")) { $m->nextframe(); $m->add(new SWFBitmap($file)); $i++; } //snimi kreirani swf na neku lokaciju $m->save("/swf/path/test.swf"); E sad, problem je što je većina gifova "optimizovana" u smislu da gif fajl sadrži samo promene u odnosu na početnu sliku a ne (kako bih ja voleo da jeste) gomilu slika sa istim dimenzijama koje se jednostavno animiraju. Tako na primer, u jednom od animiranih gifova convert je razbio gif fajl na seriju png slika gde je prva recimo dimenzija 100x100, a ostale slike su znatno manjih dimenzija (i one su nekoegzistentnih veličina). SWF animacija kreirana na gornji način neće biti verna animiranom gifu. Da li iko ima ideju kako bi se ovaj problem mogao rešiti ? Da li postoji neki način da se animirani gif "deoptimizuje" tako da svi frejmovi koje sadrzi budu istih dimenzija ? I uopsteno da li se iko bavio do sada ovom problematikom koristeci se php-om. Thanks Dinke |