Witam mam taki kod który tworzy miniaturki, ale ten kod tworzy miniaturki o 10% mniejsze od oryginalu. Co trzeba zrobic aby obrazek byl pomniejszany do 100px z zachowaniem skali? Np, jezeli obrazek bedzie mial 800x600px to miniaturka wynosi 100x75px lub jezeli obrazek ma 600x800 to wtedy wymiary wynosza 100x134px ?
<?php
$image_caption = $_POST['image_caption'];
$image_username = $_SESSION['name'];
$image_tempname = $_FILES['image_filename']['name'];
$image_comment = $_POST['image_comment'];
// umieszczenie obrazu i sprawdzenie jego formatu
$ImageDir ="c:/Program Files/WebServ/httpd-users/aaa/images/";
$ImageThumb = $ImageDir . "thumbs/";
$ImageName = $ImageDir . $image_tempname;
$ImageName)) {
// pobranie informacji na temat umieszczonego obrazu
list
($width, $height, $type, $attr) = getimagesize($ImageName);
if ($type > 3) {
echo "Przykro nam, ale przesłany obraz nie jest w formacie GIF, JPG lub " . "PNG.<br>";
echo "Kliknij przycisk 'Wstecz' w przeglądarce i spróbuj ponownie."; } else {
// obraz jest w poprawnym formacie, można kontynuować
// wstawienie informacji w tabeli images
$insert = "INSERT INTO images
(image_caption, image_username, image_date, image_comment)
VALUES
('$image_caption', '$image_username', '$today', '$image_comment')";
$newfilename = $ImageDir . $lastpicid . ".jpg";
if ($type == 2) {
rename($ImageName, $newfilename); } else {
if ($type == 1) {
$image_old = imagecreatefromgif($ImageName);
} elseif ($type == 3) {
$image_old = imagecreatefrompng($ImageName);
}
// skonwertuj obraz do formatu JPG
$image_jpg = imagecreatetruecolor($width, $height);
imagecopyresampled($image_jpg, $image_old, 0, 0, 0, 0,
$width, $height, $width, $height);
imagejpeg($image_jpg, $newfilename);
imagedestroy($image_old);
imagedestroy($image_jpg);
}
$newthumbname = $ImageThumb . $lastpicid . ".jpg";
// pobierz wymiary miniaturki
$thumb_width = $width * 0.10;
$thumb_height = $hegiht * 0.10;
// utwórz miniaturkę
$largeimage = imagecreatefromjpeg($newfilename);
$thumb = imagecreatetruecolor($thumb_width, $thumb_height);
imagecopyresampled($thumb, $largeimage, 0, 0, 0, 0,
$thumb_width, $thumb_height, $width, $height);
imagejpeg($thumb, $newthumbname);
imagedestroy($largeimage);
imagedestroy($thumb);
?>