No veliki je problem kada npr. uploadujem sliku koja je 400 px širine i 100 px visine.Eh pošto logički predpostavljam da je nemoguče uraditi resize a da se ne primjeti sa ovakvim dimenzijama. Zamolio bih vas da mi date neke alternative.
Cilj mi je da napravim skriptu za vijesti, na početnoj stranici će prikazivati malu sliku od npr 200 x 200 px, dok bi na stranici kada se klikne "Čitaj sve" bila veća slika.
U glavi imam 3 ideje pa bih molio od vas iskusnijih da mi date koji savjet.
1.Da ograničim širinu i viisinu slika koliko hoću tj. da mi maksimalna sirina i visina slike bude npr 250 x 200 px.
2.Da radim resize i da velike slike omogućim ali da ograničim da visina može biti veća od širine samo za 100 px ili obrnuto.(Resize bi bio koliko toliko prihvatljiv).
3. Da omogućim upload slika i da radim crop djela slike na npr 200x200px..
Evo i kod koji koristim.
if(isset($_POST['Submit']))
{
$current_image=$_FILES['image']['name'];
$extension = substr(strrchr($current_image, '.'), 1);
if (($extension!= "jpg") && ($extension != "jpeg"))
{
die('Unknown extension');
}
$time = date("fYhis");
$new_image = $time . "." . $extension;
$destination="uploads/".$new_image;
if(move_uploaded_file($_FILES['image']['tmp_name'], $destination)) {
echo "The file ". basename( $_FILES['image']['name']).
" has been uploaded";
} else{
echo "There was an error uploading the file, please try again!";
}
//resize//
$create = imagecreatefromjpeg($destination);
$currwidth = imagesx($create);
$currheight = imagesy($create);
$ccreate = ImageCreateTrueColor(50,50);
imagecopyresampled($ccreate, $create, 0, 0, 0, 0, 50, 50,
$currwidth, $currheight);
imagejpeg($ccreate, "thumbs/".$new_image);
imagedestroy($ccreate);
imagedestroy($create);
}else{
?>
<form method="post" enctype="multipart/form-data" action="cc.php">
<input type="file" name="image" ><br>
<input type="submit" name="Submit" value="submit">
</form>
<?php
}
Zamolio bih komentare i za malu pomoć da vidim kako bi ovo mogao uraditi na kvalitetan način.