Thumbnail въпроси

Sunrize

Registered
Някой може ли да ми даде код за създаване на thumbnail-и още при самото качване на картинката .. в смисъл не да се качва оригинала ами преобразуваната само.

Въпрос :: как постигат в фотошоп-бг.ком да запазят качеството на преобразуваната картинка ( да не стават остри ръбове и такива глупости )

примери:
http://www.photoshop-bg.com/gallery/maqpen4eva/1420/tumb.jpg
http://www.photoshop-bg.com/gallery/maqpen4eva/45/thumb.jpg
 
<?php

if(isset($_POST['submit']))
{

$path_thumbs = "thumbs"; //Директорията в която се записват thumbs

$img_thumb_width = 100; //Широчината на thumbs

$extlimit = "yes"; //Да има ли лимит при качването на файлове? (no за без лимит)

$limitedext = array(".gif",".jpg",".png",".jpeg",".bmp"); //Позволените формати за качване

//Изображение -> Променливи
$file_type = $_FILES['vImage']['type'];
$file_name = $_FILES['vImage']['name'];
$file_size = $_FILES['vImage']['size'];
$file_tmp = $_FILES['vImage']['tmp_name'];

//Ако не е избран файл за качване
if(!is_uploaded_file($file_tmp)){
echo "Грешка: Моля, изберете файл за качване!. <a href=\"$_SERVER[PHP_SELF]\">Back</a>";
exit();
}
//Проверяваме формата на файла
$ext = strrchr($file_name,'.');
$ext = strtolower($ext);
//Ако формата на файла не е позволен
if (($extlimit == "yes") && (!in_array($ext,$limitedext))) {
echo "Този формат не е позволен за качване. <a href=\"$_SERVER[PHP_SELF]\">Back</a>";
exit();
}

$getExt = explode ('.', $file_name);
$file_ext = $getExt[count($getExt)-1];

//Създаваме пройзволно име
$rand_name = md5(time());
$rand_name= rand(0,999999999);
//Новата широчина на изображението
$ThumbWidth = $img_thumb_width;

//////////////////////////////
// Създаване на Thumb-найла //
//////////////////////////////

if($file_size){
if($file_type == "image/pjpeg" || $file_type == "image/jpeg"){
$new_img = imagecreatefromjpeg($file_tmp);
}elseif($file_type == "image/x-png" || $file_type == "image/png"){
$new_img = imagecreatefrompng($file_tmp);
}elseif($file_type == "image/gif"){
$new_img = imagecreatefromgif($file_tmp);
}
list($width, $height) = getimagesize($file_tmp);

$imgratio=$width/$height;
if ($imgratio>1){
$newwidth = $ThumbWidth;
$newheight = $ThumbWidth/$imgratio;
}else{
$newheight = $ThumbWidth;
$newwidth = $ThumbWidth*$imgratio;
}

if (function_exists(imagecreatetruecolor)){
$resized_img = imagecreatetruecolor($newwidth,$newheight);
}else{
die("Грешка: Сигурни ли че вашата GD Library е 2+?");
}

imagecopyresized($resized_img, $new_img, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

ImageJpeg ($resized_img,"$path_thumbs/$rand_name.$file_ext");
ImageDestroy ($resized_img);
ImageDestroy ($new_img);


}


move_uploaded_file ($file_tmp, "$path_big/$rand_name.$file_ext");

$msg = urlencode("$file_name беше качена! <a href=\"upload.php\">Качи още?</a>");
header("Location: upload.php?msg=$msg");
exit();


}else{


if(isset($_GET['msg']))
{

echo "<p>".urldecode($_GET['msg'])."</p>";
}

echo "
<form action=\"\" method=\"post\"enctype=\"multipart/form-data\">\n
<p>File:<input type=\"file\" name=\"vImage\" /></p>\n
<p><input type=\"submit\" name=\"submit\" value=\"Submit\" /></p>";
}

?>
 
горе доло ще ми свърши работа.. обаче става много на пиксели каточели .. качеството се разваля много. в Фотошоп-бг как запазват туй качество ?
 
GD Liberty.. сеедно ми говориш на чужд език ..
Ако някой има некво решение за запазване на качеството .. дори и да замъгля малко изображението няма да е толкоз фатално
 

Горе