Autor | Zpráva | ||
---|---|---|---|
dimmuboy Profil * |
#1 · Zasláno: 1. 12. 2011, 20:32:45
Zdravim,
mam tu problem s ktorym si neviem rady. Spravil som si skript ktory by mal z priecinku nahodne vybrat 3 obrazky, ktore sa nebudu opakovat, a vlozi ich do jedneho cierneho obrazku. Problem je ze kusok skriptu ktory tie obrazky nahodne vytiahne z priecinka sam o sebe funguje a aj ten ktory vlozi tie 3 obrazky do jedneho, no spolu v jednom mi to nefunguje. Obrazok by mal vyzerat takto: A tu je zdrojak: <?php function imgRand( $ar ) { mt_srand(( double )microtime() * 1000000 ); $num = array_rand( $ar ); return $ar[$num]; } function imgArray() { $path = 'img/kolkaren6.6.6/thumbs/'; $dir = opendir( $path ); while( $file = readdir( $dir )) { if( $file != '.' && $file != '..' ) { $nofiles++; $files[$nofiles]=$file; } } closedir( $dir ); return $files; } // randomize images // $files = imgArray(); $img1 = imgRand( $files ); $img2 = imgRand( $files ); $img3 = imgRand( $files ); while( $img1 == $img2 ) { $img2 = imgRand( $files ); } while(( $img1 == $img3 ) || ( $img2 == $img3 )) { $img3 = imgRand( $files ); } /////////////////////////////////////// // Toto je ten zvysok zdrojaku // /////////////////////////////////////// // create cover // $dest = imagecreatefromjpeg( 'blank.jpg' ); $src1 = imagecreatefromjpeg( $img1 ); $src2 = imagecreatefromjpeg( $img2 ); $src3 = imagecreatefromjpeg( $img3 ); $size1 = getimagesize( $img1 ); $size2 = getimagesize( $img2 ); $size3 = getimagesize( $img3 ); imagecopymerge( $dest, $src1, 40, 5, 0, 0, $size1[0], $size1[1], 100 ); imagecopymerge( $dest, $src2, 5, 120, 0, 0, $size2[0], $size2[1], 100 ); imagecopymerge( $dest, $src3, 70, 70, 0, 0, $size3[0], $size3[1], 100 ); header( 'Content-Type: image/gif' ); imagejpeg( $dest ); ?> |
||
dimmuboy Profil * |
#2 · Zasláno: 1. 12. 2011, 20:35:29
Zabudol som este doplnit ze co na tom nefunguje :)
Tvari sa to ze je vsetko v poriadku, ale nikdy sa v tom vytvorenom obrazku nezobrazia vsetky tie 3 male. Bud ziaden, jeden, dva ale nikdy nie vsetky 3. |
||
Davex Profil |
#3 · Zasláno: 1. 12. 2011, 21:27:16 · Upravil/a: Davex
Jsou všechny soubory v adresáři thumbs/ obrázky ve formátu JPEG? Proč posíláš výsledný obrázek ve formátu JPEG s MIME typem
image/gif ?
|
||
dimmuboy Profil * |
#4 · Zasláno: 1. 12. 2011, 21:36:44
aha.. sakra to som si nevsimol ze tam je gif, hned to idem opravit :D a ano vsetky su vo formate JPEG
|
||
Davex Profil |
#5 · Zasláno: 1. 12. 2011, 22:42:50 · Upravil/a: Davex
Ve jménu načítaného obrázku chybí celá cesta, ale potom nechápu, proč se tam některé načtou.
Mělo by se to vyřešit nějak takto: $path = 'img/kolkaren6.6.6/thumbs/'; $src1 = imagecreatefromjpeg( $path . $img1 ); $src2 = imagecreatefromjpeg( $path . $img2 ); $src3 = imagecreatefromjpeg( $path . $img3 ); To samé u zjištění velikosti. |
||
dimmuboy Profil * |
#6 · Zasláno: 1. 12. 2011, 23:02:51
hmm tak tomu tiez moc nechapem ale ono to bude zrejme chyba v tom mojom while
|
||
dimmuboy Profil * |
#7 · Zasláno: 1. 12. 2011, 23:25:12
tak uz som to opravil, aby som to nemusel dopisovat aj pri size zmenil som to uz v
$img1 = $path.imgRand( $files ); |
||
djkmito Profil |
#8 · Zasláno: 1. 12. 2011, 23:45:29 · Upravil/a: djkmito
Píšem zo starého nicku, lebo som konečne prišiel na to ako sa tu prihlasuje :D
Už mi to funguje, chyba naozaj nebola v tých cykloch while, ale v mojej nepozornosti. Stačilo pridať tú cestu všade kde to bolo potrebné, a teraz to už funguje ako má. Ďakujem za pomoc ;) |
||
Časová prodleva: 12 let
|
0