Citat:
JaHvram: Pa koliko sam skontao ovo samo stavlja width i height atribute a ne resize-uje sliku (kao fajl). Sajt za koji sam pravio galeriju nema GD tako da nisam radio automatsko pravljenje thumbs-a... inace to nije problem da se uradi ;)
U pravu si. Moja greska. Skript od malopre nece smanjiti velicinu fajla vec samo dimenzije slike na browser-u. Evo pravog koda. Ovaj skript podesava velicinu slike kao fajla. To radi pomocu funkcije ImageCopyResized.
Treba da se napravi »resize_image.php« i u njega upise sledeci kod:
Code:
<?php
$image = $HTTP_GET_VARS['image'];
if (!$max_width)
$max_width = 100;
if (!$max_height)
$max_height = 80;
$size = GetImageSize($image);
$width = $size[0];
$height = $size[1];
$x_ratio = $max_width / $width;
$y_ratio = $max_height / $height;
if ( ($width <= $max_width) && ($height <= $max_height) ) {
$tn_width = $width;
$tn_height = $height;
}
else if (($x_ratio * $height) < $max_height) {
$tn_height = ceil($x_ratio * $height);
$tn_width = $max_width;
}
else {
$tn_width = ceil($y_ratio * $width);
$tn_height = $max_height;
}
$src = ImageCreateFromJpeg($image);
$dst = ImageCreate($tn_width,$tn_height);
ImageCopyResized($dst, $src, 0, 0, 0, 0,
$tn_width,$tn_height,$width,$height);
header('Content-type: image/jpeg');
ImageJpeg($dst, null, -1);
ImageDestroy($src);
ImageDestroy($dst);
?>
U fajlu »gal_index.php« treba da se zameni sledeci deo koda:
Umesto ovoga
Code:
echo "<td valign='center' align='center'>
<a href='".$picdir . $filename."' title='$name' target='_blank'>
<img src='".$picdir ."thumbs/". $filename."'
border='0' width='300' height='200' alt='$name'>
<br />$name</a></td> ";
Treba ubaciti
Code:
echo "<td valign='center' align='center'>
<a href='".$picdir . $filename."' title='$name' target='_blank'>
<img src='resize_image.php?image=slike/$filename'
border='0' alt='$name'>
<br />$name</a></td> ";
To je sve. Sad bi trebalo da bude OK.
Pozdrav