Частый гость
Покинул форум
Сообщений всего: 227
Дата рег-ции: Сент. 2009
Откуда: Беларусь, Витебск
Помог: 0 раз(а)
|
Посоветуйте хороший скрипт для обработки фото, сам я пока ещё до этого не дошёл, может кто объяснит как это вообще работает.
у меня есть довольно хороший скрипт, но и он не даёт хорошего качества после загрузки картинки.
CODE ( text):
скопировать код в буфер обмена
<?php $path_to_image_directory = 'images/cash/'; //Папка, куда будут загружаться полноразмерные изображения function createThumbnail($filename) { $final_width_of_image = 600; //Размер изображения которые Вы хотели бы получить (И ШИРИНА И ВЫСОТА) $path_to_image_directory = 'images/cash/'; //Папка, куда будут загружаться полноразмерные изображения $path_to_thumbs_directory = 'images/';//Папка, куда буду загружать миниатюры //Определяем формат изображения if(preg_match('/[.](jpg)$/', $filename)) { $im = imagecreatefromjpeg($path_to_image_directory . $filename); } elseif(preg_match('/[.](gif)$/', $filename)) { $im = imagecreatefromgif($path_to_image_directory . $filename); } elseif(preg_match('/[.](JPG)$/', $filename)) { $im = imagecreatefromjpeg($path_to_image_directory . $filename); } elseif(preg_match('/[.](png)$/', $filename)) { $im = imagecreatefrompng($path_to_image_directory . $filename); } $ox = imagesx($im); $oy = imagesy($im); $nx = $final_width_of_image; $ny = floor($oy * ($final_width_of_image / $ox)); $nm = imagecreatetruecolor($nx, $ny); imagecopyresampled($nm, $im, 0, 0, 0, 0, $nx, $ny, $ox, $oy); //imagecopyresized($nm, $im, 0,0,0,0,$nx,$ny,$ox,$oy); if(!file_exists($path_to_thumbs_directory)) { if(!mkdir($path_to_thumbs_directory)) { die("Возникли проблемы загрузки изображения! Попробуйте снова!"); } } imagejpeg($nm, $path_to_thumbs_directory . $filename); $foto = '<img src="' . $path_to_thumbs_directory . $filename . '" alt="image" />'; echo '<br />Изображение успешно загружено!'; } if(isset($_FILES['fupload'])) { //Ставим допустимые форматы изображений для загрузки if(preg_match('/[.](jpg)|(JPG)|(gif)|(png)$/', $_FILES['fupload']['name'])) { $filename_date = date("d_m_Y-H_i_s-");//дата и время загрузки $filename = $filename_date.$_FILES['fupload']['name']; $source = $_FILES['fupload']['tmp_name']; $target = $path_to_image_directory . $filename; move_uploaded_file($source, $target); createThumbnail($filename); } } //удаляю оригинал unlink("$target"); ?>
в коде я поменял строку
imagecopyresized($nm, $im, 0,0,0,0,$nx,$ny,$ox,$oy);
на
imagecopyresampled($nm, $im, 0, 0, 0, 0, $nx, $ny, $ox, $oy);
Картинки стали лучшего качества, но хочется ещё лучше!
|