IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques et frameworks PHP Discussion :

[GD] Rogner une image avec AJAX


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Points : 288
    Points
    288
    Par défaut [GD] Rogner une image avec AJAX
    Bonjour,

    Je cherche à rogner une image...
    Pour ca, j'utilise la fonction imagecopyresampled de la librairie GD...

    Voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    <?
    $nom_image=$_POST["nom_image"];
    $new_width=$_POST["new_width"];
    $new_height=$_POST["new_height"];
    $width=$_POST["width"];
    $height=$_POST["height"];
    $cadre_left=$_POST["cadre_left"];
    $cadre_top=$_POST["cadre_top"];
     
    // Redimensionnement
    $filename="images/$nom_image";
    $image_p = imagecreatetruecolor($new_width, $new_height);
    $image = imagecreatefromjpeg($filename);
    imagecopyresampled($image_p, $image, 0, 0, $cadre_left, $cadre_top, $new_width, $new_height, $width, $height);
     
    $img_dest="images/redimensionne/".$nom_image;
    $res_creat_img=imagejpeg($image_p,$img_dest,100);
    ?>
    Je précise que l'appel de ce code se fait en ajax...

    Voici maintenant l'errreur retournée:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
    <title>Error 500 - Internal server error</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="cache-control" content="no-cache" />
    </head>
    <body style="font-family:arial;">
    <h1 style="color:#0a328c;font-size:1.0em;">Error 500 - Internal server error</h1>
    <p style="font-size:0.8em;">Un probl&#232;me inattendu est survenu. <br/>Veuillez r&#233;essayer ult&#233;rieurement.</p>
    </body>
    </html>
    La fonction imagejpeg renvoi false...
    Pourquoi ca ne marche pas?

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Points : 288
    Points
    288
    Par défaut
    J'ai réussi à avoir quelque chose, mais l'image n'est pas rognée, elle est déformée...

    Dans mon cas elle est applatie...

    Pourquoi?
    La fonction imagecopyresampled ne permet pas de rogner une image?

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Points : 288
    Points
    288
    Par défaut
    J'ai encore eu autre chose!!

    Là j'ai eu mon image rognée, mais avec un bord noir autour!!

    Est ce que c'est les données que je transmet (nouvelle taille...) qui sont fausses/incohérentes?

    J'ai l'impression que quand je demande un rognage de l'image complète, ca me retourne l'erreur du premier message, mais si je sélectionne une zone plus petite de l'image ca marche un peu mieux...

    C'est assez bizarre!!

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Points : 288
    Points
    288
    Par défaut
    J'ai également remarqué, qu'il y a un décalage d'environ 250 pixels pour la coordonnées Y du point source (le 6è argument de la fonction imagecopyresampled)...

    J'ai vérifié par rapport aux données que je transmet si la zone que je souhaite obtenir est bonne, et sur photoshop, la zone ciblée pour le recadrage correspond aux coordonnées que je transmet...

    Comment je pourrais faire autrement qu'avec la librairie GD? Parce que cette fonction ne marche pas très bien...

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    818
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Drôme (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2005
    Messages : 818
    Points : 288
    Points
    288
    Par défaut
    En fait je retire ce que j'ai dit dans ma réponse d'avant, il n'y a pas de décalage sur la coordonnées Y du point source, c'était mon calcul qui était en cause...

    Du coup maintenant, ca marche, sauf si la zone que je veux recadrer esttrop grande...

    En gros, si je recadre une petite zone de mon image, pas de problème, mais si je recadre une grosse partie j'ai l'erreur suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Error 500 - Internal server error
    Un problème inattendu est survenu.
    Veuillez réessayer ultérieurement.
    Je précise que je suis chez 1and1 en mutualisé, donc je pense que le problème vient de la memory_limit ou quelque chose dans le genre...

    Une idée?

Discussions similaires

  1. Réponses: 5
    Dernier message: 01/03/2013, 20h12
  2. Comment couper/rogner une image avec WIA
    Par blondelle dans le forum C++Builder
    Réponses: 0
    Dernier message: 22/05/2009, 15h38
  3. [AJAX] Construction d'une galerie d'images avec Ajax
    Par Pmko01 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 17/01/2008, 16h32
  4. [AJAX] Afficher une image avec ajax
    Par Mister Nono dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 09/11/2007, 19h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo