PHP: <?php $file_name = $_GET['image']; $newwidth = 150; $newheight = 175; $image = imagecreatefromjpeg("true_img.jpg"); list($width,$height) = getimagesize($file_name); $source = imagecreatefromjpeg($file_name); imagecopyresized($image,$source,0,0,0,0,$newwidth,$newheight,$wifth,$height); imagejpeg($image,$file_name); ?> заменяет картинку из $source на черный квадрат, хотя, как я понимаю, должен приводить размеры картинки $source к своим..
Первое, что бросается в глаза - не правильно написаны переменые. list($width,$height) = getimagesize($file_name); .... imagecopyresized($image,$source,0,0,0,0,$newwidth,$newheight,$wifth,$height);
скажите а есть просто функция imageresize? мне нужно просто уменьшить размер картинки пропорционально до заданного по вертикали или горизонтали.
PHP: $image = imagecreatefromjpeg($big_file); $or_width = imagesx($image); $or_height = imagesy($image); if ($or_width >= $or_height) { $new_width=120; $k = ceil($or_width / $new_width); $new_height = ceil($or_height / $k); } else { $new_height=120; $k = ceil($or_height / $new_height); $new_width = ceil($or_width / $k); } $new_image = imagecreate($new_width, $new_height); imagecopyresampled ($new_image, $image, 0, 0, 0, 0, $new_width, $new_height, $or_width, $or_height); imagejpeg($new_image, $small_file, 100); вот обработка изображения видно, что она делает эскиз, и вроде все нормально, но проблема в том, что некоторые эскизы изменяют цвет вот примеры: