| 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: 14 let
|
|||
0