[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Получение изображения с другого сайта
NitroGenerate
Всем привет. Помогите разобраться. Задача стоит в получении изображения с сайта ютуб и изменение его размера.
Изображение получил в виде ссылки(ссылка естественно на ютуб).
далее
У меня есть стандартная функция resize, но она зараза не работает, так как не любит файлы на других срверах, да и написана под загрузку и изменение файла из формы заполненной на сайте. Но тем не менее... пытаюсь адаптировать.
Вызываю функцию:
img_resize_banner($videoimg_url,$_SERVER['DOCUMENT_ROOT'].$GLOBALS['p']."/upload/b_img/".$filename,170,128,1,0xFFFFFF,$ext,$size[1],$size[0]) 
//Отладка: videoimg_url=http://img.youtube.com/vi/B1pko6BztO0/0.jpg; /var/www/....../upload/video_img/9-1333611543.jpg; ext=jpg; size1 = 360; size0=480


Сама функция:



function img_resize_banner($src,$dest,$width,$height,$tolarge,$bgcolor,$ext,$imgwidth,$imgheight){ // $width - размер который должен получится длинна
if(!file_exists($src))return false;
$icfunc="imagecreatefrom".$ext;
if(!function_exists($icfunc))return false;
if($tolarge!='1' && $imgheight<$width)$width=$imgheight;
$x_ratio=$height/$imgheight; // $imgheight- исходная высота картинки
$y_ratio=$width/$imgwidth; // $imgwidth - исходная длина картинки
$ratio=min($x_ratio,$y_ratio);
$use_x_ratio=($x_ratio==$ratio);
$new_width=$width;
$new_height=$height;

$isrc=$icfunc($src);
if($bgcolor!=0){
$new_left=$use_x_ratio?0:floor(($width-$new_width)/2);
$new_top=!$use_x_ratio?0:floor(($height-$new_height)/2);
$nn_width=$width;
$nn_height=$height;
$bgc=$bgcolor;
}else{
$new_left=0;
$new_top=0;
$nn_width=$new_width;
$nn_height=$new_height;
$bgc=0xFFFFFF;
}
$idest=imagecreatetruecolor($nn_width,$nn_height);
imagefill($idest,0,0,$bgc);
imagecopyresampled($idest,$isrc,$new_left,$new_top,0,0,$new_width,$new_height,$imgheight,$imgwidth);
if($ext=="gif")imagegif($idest,$dest);
elseif($ext=="png")imagepng($idest,$dest);
elseif($ext=="jpg")imagejpg($idest,$dest);
else imagejpeg($idest,$dest,85);
imagedestroy($isrc);
imagedestroy($idest);
return true;
}


В начале file_exists ругается, что файла нет, по этому я его обезвредил, все равно не работает. Надеюсь с вами я разберусь быстрее



Спустя 20 минут, 56 секунд (5.04.2012 - 10:21) NitroGenerate написал(а):
imagecreatefromjpg такой функции не было.
Переопределил переменную ext в jpeg;
Тепрь функция img_resize_banner() возвращает true но картинки в папке что-то нет все равно...Продолжаю копать...

Спустя 6 минут, 40 секунд (5.04.2012 - 10:28) Игорь_Vasinsky написал(а):
Поставь в начало кода.
error_reporting(E_ALL);


а картинку пробуй грузить в корень.

Спустя 3 минуты, 45 секунд (5.04.2012 - 10:32) NitroGenerate написал(а):
Вот я тупица.... =) Написал первый раз функцию img_resize... нужную папку указал...
Потом решил переписать... копирнул из другого файла, а путь уже другой, я не обратил внимания... все работает а картинок в нужной папке нет...
Папка не та laugh.gif
Разобрался...
Быстрый ответ:

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