2010-03-21 5 views
2

J'ai un code qui télécharge une image à partir d'un serveur distantfile_get_contents à l'image et le changement qualité

$data = file_get_contents("$rURL"); 

Je souhaite modifier ensuite la qualité de cette image, mais ne veux pas l'enregistrer dans un fichier Premièrement, comment puis-je convertir des données $ en une image que je peux ensuite utiliser dans imagecopyresampled?

Merci

Répondre

5

Essayez

imagecreatefromstring - Créer une nouvelle image à partir du flux d'images dans la chaîne

Exemple de manuel PHP:

$data = 'iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAMAAAB/2U7WAAAABl' 
     . 'BMVEUAAAD///+l2Z/dAAAASUlEQVR4XqWQUQoAIAxC2/0vXZDr' 
     . 'EX4IJTRkb7lobNUStXsB0jIXIAMSsQnWlsV+wULF4Avk9fLq2r' 
     . '8a5HSE35Q3eO2XP1A1wQkZSgETvDtKdQAAAABJRU5ErkJggg=='; 
$data = base64_decode($data); 
$im = imagecreatefromstring($data); 

une utilisation alternative l'un des imagecreatefrom* fonctions si vous connaissez le format de l'image à l'avance pour charger l'URL directement, par exemple

imagecreatefrompng('http://example.com/image.png')