|
|
|
| Я думаю хорошо знающие php меня поймут.Значит мне нужно взять картинку,изменить ее размеры и сохранить эту же самую картинку в другом месте с уже измененными размерами.
Для этого я юзаю такую функцию:
function get_image($img){
ob_start();
$width='106';
$rgb=0xFFFFFF;
$size = getimagesize($img);
(int)$height = $size[1] * $width / $size[0];
$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 = ImageCreateFromJpeg($img);
$idest = imagecreatetruecolor($width, $height);
imagefill($idest, 0, 0, $rgb);
imagecopyresampled($idest, $isrc, $new_left, $new_top, 0, 0,
$new_width, $new_height, $size[0], $size[1]);
$white = ImageColorAllocate($idest, 255, 255, 255);
imagejpeg($idest);
imagedestroy($isrc);
imagedestroy($idest);
return ob_get_contents();
}
|
Из функции видно,что она должна вернуть уменьшиную копию в бинарном виде.(и она ее возвращает)Но вот не задача,по мимо возврата данных картинки функция выводит еще и саму картинку.Подскажите,как переписать эту функцию что бы она этого не делала. | |
|
|
|
|
|
|
|
для: FoReAcH
(30.11.2007 в 15:26)
| | Учим мат-часть :)
bool imagejpeg ( resource $image [, string $filename [, int $quality ]] )
Список параметров
...
filename
The path to save the file to. If not set or NULL, the raw image stream will be outputted directly.
To skip this argument in order to provide the quality parameter, use NULL.
...
|
И не нужно будет использовать ob_start(); | |
|
|
|
|
|
|
|
для: FoReAcH
(30.11.2007 в 15:26)
| | наверное сделать
$output = ob_get_contents();
ob_end_clean();
return $output;
}
|
| |
|
|
|
|
|
|
|
для: exp
(30.11.2007 в 16:45)
| | А зачем так извращаться с ob_get_contents и т.д.? Если эти данные одним простым дополнением в imagejpeg будут доступны и будут записаны в файл? | |
|
|
|