2010-10-17 5 views
0

J'ai besoin de convertir un .JPG, .JPEG, .JPE, .GIF, etc. en .PNG à partir de ma page web PHP sans utiliser ImageMagick. Des idées?Convertir des images avec PHP sans utiliser ImageMagick


Voici le code que je trouve et essaie de travailler avec:

<?php 
header("content-type: image/png"); 
$original_filename = $_HTTP_POST_FILES['uploaded_file']; 
imagepng($original_filename,'border/testconvert.png',9); 

?> 
+3

Un seul: GD. http://www.php.net/manual/fr/book.image.php –

+0

J'ai regardé la documentation de GD, mais je n'ai pas pu la comprendre. J'ai essayé quelques exemples que j'ai trouvés en ligne, je vais éditer mon article original et ajouter le code. –

+0

Déjà une question à ce sujet: http://stackoverflow.com/questions/22259/how-do-i-resize-and-convert-an-uploaded-image-to-a-png-using-gd – malletjo

Répondre

2

Qui a besoin ImageMagick? Jetez un oeil à la image functions intégré en utilisant gd.

EDIT exemple de base:

<?php 
$filename = "myfolder/test.jpg"; 
$jpg = @imagecreatefromjpeg($filename); 
if ($jpg) 
{ 
    header("Content-type: image/png"); 
    imagepng($jpg); 
    imagedestroy($jpg); 
    exit; 
} 

// JPEG couldn't be loaded, maybe show a default image 
?> 

Vous pouvez faire plus avec ce telles que la compression du changement et les valeurs de qualité etc, enregistrez la sortie vers un fichier au lieu de sortir dans le navigateur et ainsi de suite - vérifiez la docs pour plus d'informations :-)

Notez que les fonctions d'image émettent des avertissements/avis etc. s'il y a des problèmes de chargement d'une image, d'où l'utilisation du symbole @ pour supprimer, sinon vous obtiendrez des résultats parasites au lieu de seulement données d'image.

+1

gd n'est pas toujours disponible non plus. Vous devez compiler PHP avec '--with-gd'. –

+0

Je peux utiliser GD, je l'ai utilisé avec d'autres tâches de manipulation d'image que j'avais. Je ne peux pas comprendre comment convertir les images. –

+0

Et si vous autorisez plusieurs types de fichiers, vous devrez configurer une vérification pour voir quelle est l'extension et exécuter un commutateur pour charger l'image en fonction de son type de fichier ou simplement charger une image par défaut si elle ne correspond pas n'importe quoi. – animuson

0
function jpg2png($originalFile, $outputFile, $quality) { 
    $image = imagecreatefromjpeg($originalFile); 
    imagepng($image, $outputFile, $quality); 
    imagedestroy($image); 
} 

Essayez quelque chose comme ceci.

Dites-moi si ça marche !! Bonne chance

+0

C'était la même logique (ish) utilisée dans le premier exemple, et oui .. ça marche super! Mais, auriez-vous connaissance de la conversion de .BMP en .PNG? –

+0

Non, mais vous devriez vraiment commencer une question sur ce sujet particulier, car il pourrait être très intéressant. Bonne chance! – Trufa

Questions connexes