Гость
Покинул форум
Сообщений всего: 77
Дата рег-ции: Июль 2011
Помог: 0 раз(а)
|
Здравствуйте! Помогите пожалуйста решить проблему. В общем есть изображение, его нужно сначала уменьшить а затем обрезать. Я сделал такой вот скриптит, конечно это только его часть, но основная, т.к. именно в ней проблема. Сразу хочу сказать, что функции работают нормально. Проблема начинается со строки 66. Если закоментировать эту строку, то картинка прекрасно обрезается (но не так как нужно), а если закоментировать строку 69, то картинка нормально уменьшается, а что бы она уменьшалась а потом обрезалась сделать не могу. Помогите пожалуйста.
PHP:
скопировать код в буфер обмена
function ImageContent($file) { $handle = @fopen ($file, 'rb'); $contents = ""; if(!$handle) echo "Error file"; else { { $data = fread($handle, 8192 ); $contents .= $data; } header("Content-type: image/Jpeg"); return $contents; } } function resize($src, $dest, $width, $height, $rgb=0x000000, $quality=100) { if ($size === false) return false; // Определяем исходный формат по MIME-информации, предоставленной // функцией getimagesize, и выбираем соответствующую формату // imagecreatefrom-функцию. $icfunc = "imagecreatefrom" . $format; $x_ratio = $width / $size[0]; $y_ratio = $height / $size[1]; $ratio = min($x_ratio, $y_ratio); $use_x_ratio = ($x_ratio == $ratio); $new_width = $use_x_ratio ? $width : floor($size[0 ] * $ratio); $new_height = !$use_x_ratio ? $height : floor($size[1 ] * $ratio); $new_left = $use_x_ratio ? 0 : floor(($width - $new_width) / 2 ); $new_top = !$use_x_ratio ? 0 : floor(($height - $new_height) / 2 ); $isrc = $icfunc($src); $new_width, $new_height, $size[0], $size[1]); return true; } $fn=PATCH_IMAGE."/$rc[basename]/$basename"; resize($fn, $zig, $resivl, $resivl2); // Изменяем размер перед обрезкой header("Content-type: image/Jpeg"); mysql_query("update cache_data set filesize = '".filesize($imagejpeg_cache)."' where image_id = '$r[id]' AND type = '$res'"); echo ImageContent ("cache_files/".$rl_cachedata[basename]);
|