[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как пользоваться imagecopyresized()?
Oggy
что писать в скобках? )



Спустя 1 минута, 39 секунд (1.02.2012 - 17:50) neadekvat написал(а):
Что ответила документация? Что в ней непонятно?

Спустя 19 секунд (1.02.2012 - 17:50) GET написал(а):
копирует прямоугольную часть изображения в другое изображение, плавно интерполируя пикселные значения таким образом, что, в частности, уменьшение размера изображения сохранит его чёткость и яркость. Dst_im это изображение назначения, src_im - исходное изображение.Если координаты и ширина и высота источника и назначения различны, будет выполнено соответствующее растягивание и сжатие изображения.Координаты даны относительно верхнего левого угла.Эта функция может использоваться для копирования областей в пределах одного изображения (если dst_im - то же, что и src_im), но если области перекрываются, результат непредсказуем.

Спустя 1 минута, 4 секунды (1.02.2012 - 17:51) GET написал(а):
Oggy

Сначала нужно холст нужных размеров создать, вычислить пропорции и потом только копировать

Спустя 6 минут, 27 секунд (1.02.2012 - 17:57) Nikitian написал(а):
Рекомендую использовать imagecopyresampled() для ресайза со сглаживанием.

Спустя 2 минуты, 6 секунд (1.02.2012 - 18:00) Oggy написал(а):
Цитата (Nikitian @ 1.02.2012 - 14:57)
Рекомендую использовать imagecopyresampled() для ресайза со сглаживанием.

а что тут в скобках? smile.gif

Спустя 1 минута, 48 секунд (1.02.2012 - 18:01) GET написал(а):
www.google.com

Спустя 2 минуты, 13 секунд (1.02.2012 - 18:04) Nikitian написал(а):
Цитата (Oggy @ 1.02.2012 - 18:00)
Цитата (Nikitian @ 1.02.2012 - 14:57)
Рекомендую использовать imagecopyresampled() для ресайза со сглаживанием.

а что тут в скобках? :)

В скобках то же самое. Просто другой алгоритм используется. Даже ссылку специально сделал, ну раз не помогла ссылка, то так:
bool imagecopyresampled ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )

Спустя 2 часа, 21 минута, 25 секунд (1.02.2012 - 20:25) Oggy написал(а):
я пишу так

copy($upload_path.$filename,$upload_path.'ava_'.$filename) or die("Could not copy $name");
imagecopyresampled($upload_path.$filename,$upload_path.'ava_'.$filename,1,1,1,1,1,1,1,1);
// пишет вот такую ошыбку: Warning: imagecopyresampled() expects parameter 1 to be resource, string given

Спустя 31 минута, 55 секунд (1.02.2012 - 20:57) GET написал(а):
Oggy

Ты все неправильно делаешь...ты читал документацию?

Цитата
$upload_path.$filename,$upload_path.'ava_'.$filename,


сздесь не файлы должны быть, а их образы как бы.

Цитата
1,1,1,1,1,1,1,1

Координаты тоже неправильные.

Спустя 4 минуты, 3 секунды (1.02.2012 - 21:01) Oggy написал(а):
Цитата (A.B.C. @ 1.02.2012 - 17:57)
Oggy

Ты все неправильно делаешь...ты читал документацию?

Цитата
$upload_path.$filename,$upload_path.'ava_'.$filename,


сздесь не файлы должны быть, а их образы как бы.

Цитата
1,1,1,1,1,1,1,1

Координаты тоже неправильные.

$upload_path-ето путь к файлу
$filename-имя файла
//в документации говорится что ей не надо передавать название файла изображения, а нужно дать ссылку на ресурс
// НО КАК ОНО БУДЕТ ЗНАТЬ С КАКИМ ФАЙЛОМ РАБОТАТЬ? )

imagecopyresampled ($upload_path.$filename,$upload_path.'ava_'.$filename,0,0,0,0,50,50,100,100);


Спустя 2 минуты, 8 секунд (1.02.2012 - 21:03) GET написал(а):
$upload_path.$filename - загруженный файл так?

1.
$image_cr = imagecreatefromjpeg($upload_path.$filename);


получаешь образ загруженной картинки...это типа, как ее ПХП запоминает.

2. Тебе ее надо теперь в новые размеры выгрузить:

$image_hr = @imagecreatetruecolor($width, $high);


создаешь холст, нужных тебе размеров например 150 на 150.

3. Только тогда

imagecopyresampled($image_hr ,$image_cr,0,0,0,0,$w,$h,$w2,$h2);

Спустя 2 минуты, 44 секунды (1.02.2012 - 21:06) GET написал(а):
Цитата
копирует прямоугольную часть изображения в другое изображение, плавно интерполируя пикселные значения таким образом, что, в частности, уменьшение размера изображения сохранит его чёткость и яркость. Dst_im это изображение назначения, src_im - исходное изображение.Если координаты и ширина и высота источника и назначения различны, будет выполнено соответствующее растягивание и сжатие изображения.Координаты даны относительно верхнего левого угла.Эта функция может использоваться для копирования областей в пределах одного изображения (если dst_im - то же, что и src_im), но если области перекрываются, результат непредсказуем.


вдумайся, как происходит "натягивание" изображения

Спустя 11 минут, 17 секунд (1.02.2012 - 21:17) GET написал(а):
imagejpeg($image_hr, $upload_path.'ava_'.$filename, 75);//Записывает изображение, (75-качество)

Спустя 2 минуты, 36 секунд (1.02.2012 - 21:20) Oggy написал(а):
Цитата (A.B.C. @ 1.02.2012 - 18:03)
$upload_path.$filename - загруженный файл так?

1.
$image_cr = imagecreatefromjpeg($upload_path.$filename);


получаешь образ загруженной картинки...это типа, как ее ПХП запоминает.

2. Тебе ее надо теперь в новые размеры выгрузить:

$image_hr = @imagecreatetruecolor($width, $high);


создаешь холст, нужных тебе размеров например 150 на 150.

3. Только тогда

imagecopyresampled($image_hr ,$image_cr,0,0,0,0,$w,$h,$w2,$h2);

а как создать холт?

Спустя 4 минуты, 52 секунды (1.02.2012 - 21:25) GET написал(а):
2 шаг

Цитата
$image_hr = @imagecreatetruecolor($width, $high);


$image_hr = @imagecreatetruecolor(150, 150);

создаст холст 150 на 150 пикселей

3. шаг.

imagecopyresampled($image_hr ,$image_cr,0,0,0,0,150,150,$w,$h);

натягиваешь свою загруженную картинку точнее сужаешь...$w,$h - ширина и высота твой загруженной картинки


Спустя 1 минута, 24 секунды (1.02.2012 - 21:26) Oggy написал(а):
оздало копию чёрного квадрата
написал так

$image_cr = imagecreatefromjpeg($upload_path.$filename);
$width=50;
$high=50;
$image_hr = @imagecreatetruecolor($width, $high);
imagejpeg($image_hr, $upload_path.'ava_'.$filename, 25);
//создало копию чёрного квадрата

Спустя 44 секунды (1.02.2012 - 21:27) GET написал(а):
$size = GetImageSize($upload_path.$filename);// вытаскиваем,0-ширину, 1-высоту, 2-тип, 3-текстовая строка

$w=$size[0];
$h=$size[1];

Спустя 1 минута, 53 секунды (1.02.2012 - 21:29) GET написал(а):
$image_hr = @imagecreatetruecolor($width, $high);
//создать черный квадрат стороной 50.

imagejpeg($image_hr, $upload_path.'ava_'.$filename, 25);
// записать черный квадрат


Малевич был бы доволен :)

Спустя 55 секунд (1.02.2012 - 21:29) GET написал(а):
Цитата
3. Только тогда

imagecopyresampled($image_hr ,$image_cr,0,0,0,0,$w,$h,$w2,$h2);


ты пропустил третий шаг

Спустя 8 минут, 40 секунд (1.02.2012 - 21:38) Oggy написал(а):
Цитата (A.B.C. @ 1.02.2012 - 18:29)
Цитата
3. Только тогда

imagecopyresampled($image_hr ,$image_cr,0,0,0,0,$w,$h,$w2,$h2);


ты пропустил третий шаг

теперь большой чёрный квадрат :)



$image_cr = imagecreatefromjpeg($upload_path.$filename);
$width=100;
$high=100;
$image_hr = @imagecreatetruecolor($width, $high);
imagejpeg($image_hr, $upload_path.'ava_'.$filename, 25);
imagecopyresampled($image_hr,$image_cr,0,0,0,0,$width,$high,50,50);

Спустя 5 минут, 52 секунды (1.02.2012 - 21:44) GET написал(а):
Oggy

поменяй местами последнюю и предпоследнюю строчки

Спустя 7 минут, 36 секунд (1.02.2012 - 21:52) Oggy написал(а):
теперь квадраты разних цветов



$image_cr = imagecreatefromjpeg($upload_path.$filename);
$width=100;
$high=100;
$image_hr = @imagecreatetruecolor($width,$high);
imagecopyresampled($image_hr,$image_cr,0,0,0,0,$width,$high,50,50);
imagejpeg($image_hr, $upload_path.'ava_'.$filename, 75);//75-качество


Спустя 3 минуты, 33 секунды (1.02.2012 - 21:55) GET написал(а):
Каких? А ты ширину почему ставишь 100 на 100?
Цитата
$size = GetImageSize($upload_path.$filename);// вытаскиваем,0-ширину, 1-высоту, 2-тип, 3-текстовая строка

$w=$size[0];
$h=$size[1];


вот я же тебе показал как узнать ширину и высоту загруженной тобой картинки. Юзеров тоже будешь просить, чтоб они только 100 на 100 картинки загружали и не обманывали тебя??? smile.gif

Спустя 2 минуты, 22 секунды (1.02.2012 - 21:58) GET написал(а):
$size = GetImageSize($upload_path.$filename);
$image_cr = imagecreatefromjpeg($upload_path.$filename);
$width=$size[0];
$high=$size[1];
$image_hr = @imagecreatetruecolor(50,50);
imagecopyresampled($image_hr,$image_cr,0,0,0,0,50,50,$width,$high);
imagejpeg($image_hr, $upload_path.'ava_'.$filename, 75);//75-качество


так попробуй

Спустя 1 минута, 31 секунда (1.02.2012 - 21:59) Oggy написал(а):
фотка получается как фон

$image_cr = imagecreatefromjpeg($upload_path.$filename);
$size = GetImageSize($upload_path.$filename);// вытаскиваем,0-ширину, 1-высоту, 2-тип, 3-текстовая строка
$width=$size[0];
$high=$size[1];
$image_hr = @imagecreatetruecolor($width,$high);
imagecopyresampled($image_hr,$image_cr,0,0,0,0,$width,$high,50,50);
imagejpeg($image_hr, $upload_path.'ava_'.$filename, 75);//75-качество

Спустя 2 минуты, 4 секунды (1.02.2012 - 22:01) Oggy написал(а):
Цитата (A.B.C. @ 1.02.2012 - 18:58)
$size = GetImageSize($upload_path.$filename);
$image_cr = imagecreatefromjpeg($upload_path.$filename);
$width=$size[0];
$high=$size[1];
$image_hr = @imagecreatetruecolor(50,50);
imagecopyresampled($image_hr,$image_cr,0,0,0,0,50,50,$width,$high);
imagejpeg($image_hr, $upload_path.'ava_'.$filename, 75);//75-качество


так попробуй

РАБОТАЕТ МАЗА ФАКА! smile.gif
СПАСИБО БОЛЬШУЩИЕ

Спустя 1 минута, 9 секунд (1.02.2012 - 22:02) GET написал(а):
wink.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.