Память для оброботки изображений

Статус
В этой теме нельзя размещать новые ответы.

Ramiere

Guest
Память для оброботки изображений

я поискал в форуме почитал уже имеющиеся статьи на эту тему но не смог ее решить.. столкнулся с проблемой при уменьшении изображений при загрузке.. если файл выше 350 килобайт скрипт пишет что ему не хватает памяти.. при установке ini_set(memory_limit,20M) вроде как работает но все равно медленно... народ помогите советом как сделать чтобы все быстрее работало... лимит на фотку не выше 500 кб стоит....

вот скрипт ресайзинга

PHP:
function resize($resource, $destination, $width, $bordersize = NULL, $bordercolor = NULL, $text = NULL)
    {
	
	$images['resource'] = $resource;
	$images['destination'] = $destination;
	$images['width'] = $width;
	$imgaes['border'] = $bordersize;
	$images['bordercolor'] = $bordercolor;
	$images['text'] = $text;
	$image = getimagesize($images['resource']);
    $images['factor'] = $image[0]/$image[1];
    $images['height']= floor($images['width']/$images['factor']);
    $images['truecolor']= imagecreatetruecolor($images['width'],$images['height']);
	$images['mime'] = strtolower(substr($image['mime'],strpos($image['mime'],'/')+1));
    $images['creater'] = "imagecreatefrom".$images['mime'];
	$images['source'] = $images['creater']($images['resource']);
    ImageCopyResampled($images['truecolor'],$images['source'],0,0,0,0,$images['width'],$images['height'],$image[0],$image[1]); 
    $images['border']  = hex2rgb($images['bordercolor']); 
    $images['border'] = imagecolorallocate($images['truecolor'],$images['border'][1],$images['border'][2],$images['border'][3]);
    imagerectangle($images['truecolor'],0,0,$images['width']-1,$images['height']-1,$images['border']);
	
   	imagejpeg($images['truecolor'],$images['destination'],100);
    imagedestroy($images['source']);
	imagedestroy($images['truecolor']);
    flush();

	
	}
дайте хороший совет чтоб сделать ресайзинг быстро корректо и без ошибок...
 

SiMM

Новичок
> я поискал в форуме
Если бы ты действительно читал в форуме, то не писал бы подобную ерунду
> если файл выше 350 килобайт скрипт пишет что ему не хватает памяти
Вывод: читай дальше.
 

Focus

Новичок
$destination

Что єто за переменная. ЗА что она отвечает?

-~{}~ 12.01.09 18:28:

PHP:
function resize_image($width, $height, $source, $destination) 
    { 
        $inf = getimagesize($source);
    if(($width!=0) && ($height!=0))
        {
            $out_w = $width;
            $out_h = $height;
        } 
    elseif (($width!=0) && ($height==0))
        {
            $out_w = $width;
            $out_h = $inf[1] * ($width/ $inf[0]);
        }
    elseif (($width==0) && ($height!=0)) 
        {
            $out_w = $inf[0] * ($height / $inf[1]);            $out_h = $height;
        }
    else
         {
            $out_w = $tags['w'];
            $out_h = $tags['h'];    
        }
    $src = imagecreatefromjpeg($source); 
    $img = imagecreatetruecolor($out_w, $out_h); 
    imagecopyresampled($img, $src, 0, 0, 0, 0, $out_w, $out_h, imagesx($src),imagesy($src)); 
    imageJPEG($img, $destination); 
    }
Вот нашел нужную мне функцию, но там где нашел не были описаны переменные.
Что за переменная $destination ??
 

Фанат

oncle terrible
Команда форума
то же самое, что и в твоем коде
и с чего ты решил, что эта функция будет работать быстрее?
 

Focus

Новичок
Ну или подскажите пример вызова такой функции.
Скажем нужно файл вывести 100х100 Файл - images/file.jpg
 

Focus

Новичок
Ну да сохранить..
Кажется понял:
source - фото
$destination - куда сохраняю..

А нет ли у кого функции чтобы выводить картинку не сохраняя, а на лету делая превью
 

Фанат

oncle terrible
Команда форума
Ты же сам говоришь, что это медленно. что быстрее - один раз уменьшить, а потом сто раз показывать готовую, или сто раз уменьшать?
 

Focus

Новичок
Это не я говорил..

У меня просто ситуация сейчас - 10МБ на хостинге и надо залить пару фоток.. И чтобы вложиться в тарифный план, думаю ресайзить "на лету".. Без сохранения.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Ф а н а т
Fokus - это археолог, что тему поднял.
А ТС здесь другой. ;)

-~{}~ 12.01.09 18:03:

У меня просто ситуация сейчас - 10МБ на хостинге и надо залить пару фоток.. И чтобы вложиться в тарифный план, думаю ресайзить "на лету".. Без сохранения.
Бесспорно, лучше на лету постоянно ресайзить изображения, чем сохранять их на диске. Эта ж занимаит аж 5-10 Килобайт
 

Focus

Новичок
Макс откуда Вы знаете какое я хочу сделать превью?
Вдруг это 200х100 превью будет ?
 

Фанат

oncle terrible
Команда форума
И что с того?
Короче. поиск по форуму, мануал и гугль твои друзья.
в сотый раз разжевывать ламеру, что такое хорошо, и что такое плохо, никто не будет. Хочешь делать по-человечески - тебе все написали. Хочешь делать по-уродски - вперед и с песней, самостоятельно.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху