2009-04-04 9 views
0

Je travaille sur la construction de galerie où l'utilisateur télécharge toutes les images. J'avais essayé d'utiliser GD à l'origine, mais j'ai trouvé qu'il utilisait beaucoup trop de mémoire lorsqu'il s'agissait d'images provenant d'un appareil photo numérique. J'ai donc regardé ImageMagick et a rencontré ce problème.Comment redimensionner une image déjà téléchargée en utilisant Magickwand (PHP)/ImageMagick?

Mon objectif final est de redimensionner l'image, puis de la télécharger. Je ne suis pas sûr que cela soit possible avec ImageMagick ou non. Je l'ai obtenu pour redimensionner l'image après le téléchargement, mais il ne sauvegarde pas l'image redimensionnée, juste la taille d'origine.

C'est le code que je suis actuellement en utilisant: (image $ est le chemin vers le fichier sur mon serveur)

$resource = NewMagickWand(); 
MagickReadImage($resource,$image); 
MagickSetImageCompressionQuality($resource, 100); 
$resource = MagickTransformImage($resource,'0x0','660x500'); 

Toute entrée serait appréciée,
Levi

+0

pouvez-vous s'il vous plaît expliquer plus au sujet de ce qu'est le problème? est-ce en écrivant l'image redimensionnée, ou en traitant de l'image téléchargée? – Aziz

+0

Eh bien, je suppose que je suis un peu confus sur le fonctionnement d'ImageMagick. Je peux imprimer l'image redimensionnée, mais elle ne change pas sur mon serveur Web. Je me demande s'il y a une commande pour rendre les changements permanents? – Levi

Répondre

1

Votre code envoyer l'image modifiée au client (le navigateur Web), mais il ne sera pas l'enregistrer sur le serveur (en remplaçant l'image originale, par exemple)

Pour enregistrer l'image, utilisez:

MagickWriteImage($resource, 'new_image.jpg'); 
Questions connexes