Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Images > Imagick
Imagick Forum d'entraide pour l'extension Imagick permettant de manipuler des images en PHP (port de l'API ImageMagick).
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/09/2007, 10h58   #1
Membre habitué
 
Inscription : mai 2002
Messages : 475
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 475
Points : 105
Points : 105
Par défaut [ImageMagick] code de redimentionnement d'image à la volée

bonjour

je recherche un script qui redimentionne "proprement" des images
j'en ai utilisé plusieurs qui pixelise l'image comme :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
function redimimg($img_src,$dst_w,$dst_h) {
   $size = GetImageSize($img_src);  
   $src_w = $size[0]; $src_h = $size[1];
   $test_h = round(($dst_w / $src_w) * $src_h);
   $test_w = round(($dst_h / $src_h) * $src_w);
   if(!$dst_h) $dst_h = $test_h;
   elseif(!$dst_w) $dst_w = $test_w;
   elseif($test_h>$dst_h) $dst_w = $test_w;
   else $dst_h = $test_h;
   $result = 'width="'.$dst_w.'" height="'.$dst_h.'"';
   return $result;
}
j'ai trouvé celui-ci qui redimensionne des images proprement !
mais je ne peux l'utiliser que seul dans un fichier à part
par ex un fichier avec uniquement ce code fonctionne tres bien
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
Header("Content-type: image/jpeg");
$image = "images/collection/img.jpg";
$src_im = ImageCreateFromJpeg($image);
$size = GetImageSize($image);
$src_w = $size[0];
$src_h = $size[1];
$dst_w = 333; 
$dst_h = round(($dst_w / $src_w) * $src_h);
$dst_im = ImageCreateTrueColor($dst_w,$dst_h);
ImageCopyResampled($dst_im,$src_im,0,0,0,0,$dst_w,$dst_h,$src_w,$src_h);
ImageJpeg($dst_im);
ImageDestroy($dst_im);
imageDestroy($src_im);
mais si j'essaie de l'utiliser dans un fichier deja existant (genre pour afficher l'image au milieu de la page)
voilà ce qui s'affiche :
Code X :
1
2
ÿØÿàJFIFÿþ>CREATOR: gd-jpeg v1.0 (using IJG JPEG v62), default quality ÿÛC    $.' ",#(7),01444'9=82<.342ÿÛC  2!!22222222222222222222222222222222222222222222222222ÿÀúM"ÿÄ ÿĵ}!1AQa"q2‘¡#B±ÁRÑð$3br‚ %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyzƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚáâãäåæçèéêñòóôõö÷øùúÿÄ ÿĵw!1AQaq"2B‘¡±Á #3RðbrÑ $4á%ñ&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz‚ƒ„…†‡ˆ‰Š’“”•–—˜™š¢£¤¥¦§¨©ª²³´µ¶·¸¹ºÂÃÄÅÆÇÈÉÊÒÓÔÕÖרÙÚâãäåæçèéêòóôõö÷øùúÿÚ ?÷º(¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (¢€ (£¥U *fÆÐ2u$v^kçÆP/ Ç«U(¶CœQÔÑ\¾7”Dˆ£Ð(þ´Ø¼a3·ü|cŽœU{6/hŽþŠàGŒ®È1î[‡ÆÝ<ÄCøRtØ{DvtV¯Š,n0¶7×5¯ Ä7 ºQDZ©i¢”“Ø–Š(¤PQEQEQEQEQEQEQEQEQEQERRÑ@Q
..........................

quels sont mes options?
merci de votre aide
nicerico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2007, 11h09   #2
Membre Expert
 
Avatar de Bebel
 
Homme David B.
Développeur informatique
Inscription : avril 2003
Messages : 742
Détails du profil
Informations personnelles :
Nom : Homme David B.
Âge : 29
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : avril 2003
Messages : 742
Points : 1 085
Points : 1 085
Salut
Si tu mets ton code dans un fichier à part (par exemple monImg.php).Cette page ne servant qu'a afficher ton image réduite.

Tu appelles cette page dans dans une balise <img> par exemple
Code :
1
2
 
<img src='monImg.php?nom=toto.jpg'>
cela provoque la même erreur ou pas ?
__________________
Tout énigme a une solution ! Tout est question de discipline !
Bebel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2007, 11h29   #3
Membre habitué
 
Inscription : mai 2002
Messages : 475
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 475
Points : 105
Points : 105
non plus du tout...
c'est exactement ce qui me manquait

merci

maintenant, place au perfectionnisme :
est il possible d'améliorer ce script pour obtenir le plus parfait des redimensionnement?

encore merci
nicerico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2007, 11h32   #4
Membre Expert
 
Avatar de Bebel
 
Homme David B.
Développeur informatique
Inscription : avril 2003
Messages : 742
Détails du profil
Informations personnelles :
Nom : Homme David B.
Âge : 29
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : avril 2003
Messages : 742
Points : 1 085
Points : 1 085
De rien

Qu'est ce que tu entends par le plus parfait des redimensionnements ?
__________________
Tout énigme a une solution ! Tout est question de discipline !
Bebel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2007, 13h20   #5
Membre habitué
 
Inscription : mai 2002
Messages : 475
Détails du profil
Informations forums :
Inscription : mai 2002
Messages : 475
Points : 105
Points : 105
existe il d'autres fonctions qui permettrait d'améliorer et d'optimiser le script?
si ça vaut la peine de rechercher des améliorations possibles à ajouter ou pas?

merci
nicerico est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/09/2007, 14h15   #6
Membre Expert
 
Avatar de Bebel
 
Homme David B.
Développeur informatique
Inscription : avril 2003
Messages : 742
Détails du profil
Informations personnelles :
Nom : Homme David B.
Âge : 29
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Développeur informatique
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : avril 2003
Messages : 742
Points : 1 085
Points : 1 085
Pas à ma connaissance, ce script ressemble fortement à celui que j'utilise (il n'y a que le calcul qui change un peu, mais c'est spécifique à mes besoins.)
__________________
Tout énigme a une solution ! Tout est question de discipline !
Bebel est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h36.


 
 
 
 
Partenaires

Hébergement Web