Je suis en train de construire une classe qui fait de nombreuses opérations de photos, une méthode télécharger des images d'un utilisateur, mais j'ai besoin aussi de construire une méthode pour prendre une photo à partir d'une URL et Exécuter d'autres méthodes dessus comme s'il était téléchargé avec un formulaire POST de l'utilisateur.Enregistrement d'une image transparente à partir d'une URL en PHP
Ci-dessous mon début de la fonction pour obtenir l'image à partir de l'URL, cela fonctionne, mais les besoins fonctionnent toujours. Sous le code, vous pouvez voir une image résultant de l'exécution de cette fonction. Aussi est l'image originale pour voir à quoi cela devrait ressembler. Vous pouvez voir que cette fonction fait que l'image a un fond noir sur cette image transparente. Comment puis-je le rendre meilleur comme il devrait ressembler?
$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';
}
}
Le résultat ressemble à ceci
alt text http://img2.pict.com/52/05/1f/2429493/0/screenshot2b181.png
Au lieu de comme celui-ci alt text http://a0.twimg.com/a/1262802780/images/twitter_logo_header.png
la sortie jpg vient de me jouer autour, je vais lui faire faire des choses différentes en fonction du type d'image, pour une image .png je vais sortie ou enregistrer une image png. J'ai essayé ImageAlphaBlending ($ photo, false); et ImageSaveAlpha ($ photo, true); mais ça ne semble pas changer quoi que ce soit même quand la sortie est PNG – JasonDavis
Ça a fonctionné maintenant, a dû changer un peu plus de choses, merci – JasonDavis