Mavrikii
Platinum Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Vladsvn пробуйте и проверяйте. Код: $filename = 'photo/898.gif'; $info = getimagesize($filename); $width_old = $info[0]; $height_old = $info[1]; $type = $info[2]; switch ($type) { case IMG_GIF: $img = imageCreateFromGif($filename); imageSaveAlpha($img, true); break; case IMG_JPG: $img = imageCreateFromJpeg($filename); break; case IMG_PNG: $img = imageCreateFromPng($filename); imageSaveAlpha($img, true); break; default: // неподдерживаемый тип, делаете что нужно } $width_new = 500; $k_width = $width_old / $width_new; $height_new = ceil($height_old / $k_width); $tmp = imageCreateTrueColor($width_new, $height_new); imageCopyResampled($tmp, $img, 0, 0, 0, 0, $width_new, $height_new, $width_old, $height_old); unlink($filename); if ($type == IMG_GIF) imageGif ($tmp, $filename); elseif ($type == IMG_JPG) imagejpeg($tmp, $filename); elseif ($type == IMG_PNG) imagePng ($tmp, $filename); | сохранять можете и в одном формате.. но это по желанию.. ну и не забывайте проверять, что файл есть, перед началом всего.. а также нужно действие когда неподдерживаемый типа файла. если кто подсунет картинку шириной в пиксель, то по высоте растянет сильно.. плюс если картинка будет пустая, с нулевыми размерами - проверить, дабы не было деления на ноль в Цитата: $k_width = $width_old / $width_new; $height_new = ceil($height_old / $k_width); |
| Всего записей: 15222 | Зарегистр. 20-09-2014 | Отправлено: 22:29 21-08-2022 | Исправлено: Mavrikii, 22:31 21-08-2022 |
|