Гость
Покинул форум
Сообщений всего: 77
Дата рег-ции: Июль 2011
Помог: 0 раз(а)
|
Здравствуйте! Нашел в интернете код, который уменьшает размер картинки.
Как сделать так, что бы уменьшив картинку, она записывалась не на диск и в не в браузер, а в память, что бы я сразу же мог применить к ней другую функцию (например обрезки)?
PHP:
скопировать код в буфер обмена
<?PHP function img_resize($src, $dest, $width, $height, $rgb=0xFFFF00, $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]); header("content-type: image/jpeg"); return true; } $filename = 'sdfjhf.jpg'; $fn = 'original.jpg'; img_resize($fn, $filename, 500, 375); ?>
(Добавление)
Вот немного поколупался и у меня получилось такое: Но все же может загружать в память а не во временную папку на диске?
PHP:
скопировать код в буфер обмена
<?PHP function img_resize($src, $dest, $width, $height, $rgb=0xFFFF00, $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; } $filename = 'sdfjhf.jpg'; // имя файла для сохранения $fn = 'original.jpg'; // img_resize($fn, 'temp/'.$filename, 500, 375); $old_res = 'temp/'.$filename; header("Content-type: image/Jpeg"); ?>
(Отредактировано автором: 03 Августа, 2011 - 01:50:06)
|