Я пытаюсь создать класс, который выполняет много операций с фотографиями, один метод будет загружать изображения от пользователя, но мне также нужно создать метод для захвата фотографии с URL-адреса и запуска других методов, как если были загружены с помощью формы POST от пользователя.
Ниже приведен запуск функции получения изображения по URL, она работает, но все еще нуждается в работе. Ниже кода вы можете увидеть изображение, которое является результатом запуска этой функции. Также это оригинальное изображение, чтобы увидеть, как оно должно выглядеть. Вы можете видеть, что эта функция делает изображение прозрачным на черном фоне. Как мне сделать так, чтобы он выглядел лучше, чем должен выглядеть?
$url = 'http://a0.twimg.com/a/1262802780/images/twitter_logo_header.png';
//run our function
savePhotofromURL($url, 'no');
// photo function should grab an photo from a URL
function savePhotofromURL($photo_url, $saveimage = 'yes'){
if(isset($photo_url) && $photo_url != '') {
//get info about photo
$photo_info = getimagesize($photo_url);
$source_width = $photo_info['0'];
$source_height = $photo_info['1'];
$source_type = $photo_info['mime'];
//grab the Photo from URL
$photo = imagecreatefromstring(file_get_contents($photo_url));
if (is_resource($photo) === true){
if($saveimage === 'yes'){
// TO DO: resize image and make the thumbs code would go here if we are saving image:
// TO DO: resize source image if it is wider then 800 pixels
// TO DO: make 1 thumbnail that is 150 pixels wide
}else{
// We are not saving the image show it in the user's browser
// TO DO: we will add in correct photo type soon
header('Content-Type: image/gif');
imagejpeg($photo, null, 100);
imagedestroy($photo);
}
}else{
// not a valid resource, show error
echo 'error getting URL photo from ' .$photo_url;
}
}else{
// url of image was empty
echo 'The URL was not passed into our function';
}
}
Результат выглядит так
альтернативный текст http://img2.pict.com/52/05/1f/2429493/0/screenshot2b181.png
Вместо этого