Problème passe de ressource GD dans une class

Répondre
Bzh
Bzh
Déconnecté
Bonjour,

La fatigue surement ma fait perdre du temps bêtement sur un souci à la c**...

J'ai une class me permettant de gérer mes images (redimmentionner etc .... )

Or, j'ai $this->ressource qui contient la ressource GD de l'image.

Mais si je passe la ressource d'une deuxième image à $this->ressource, ca ne fonctionne pas...

Voici la méthode de ma class correspondant:
  1. <?php
  2.    //Methode permettant de redimentionner l'image
  3.    function redimmentionner( $taille_max, $sauvegarder=true ){ 
  4.    
  5.       //On regarde quel est le coté le plus long
  6.       if( ( imagesx( $this->ressource ) / imagesy( $this->ressource ) ) >= 1 ){ 
  7.       
  8.          //L'image est plus large que haute, on impose donc la largeur
  9.          $ressource_tmp = imagecreatetruecolor( $taille_max, ( $taille_max * imagesy( $this->ressource ) ) / imagesx( $this->ressource ) ); // On crée l'image redimensionné vide dans l'aquelle on va placer notre image!
  10.       
  11.       }else{ 
  12.       
  13.          //L'image est plus haute que large, on impose donc la hauteur
  14.          $ressource_tmp = imagecreatetruecolor( ( $taille_max * imagesx( $this->ressource ) ) / imagesy( $this->ressource ), $taille_max ); // On crée l'image redimensionné vide dans l'aquelle on va placer notre image!
  15.       
  16.       } 
  17.       //On recadre notre image dans la nouvelle redimmentionnée
  18.       imagecopyresampled( $ressource_tmp, $this->ressource, 0, 0, 0, 0, imagesx( $ressource_tmp ), imagesy( $ressource_tmp ), imagesx( $this->ressource ), imagesy( $this->ressource ) ); 
  19.       //On modifie nos ressources
  20.       $this->ressource = $ressource_tmp; 
  21.       imagedestroy( $ressource_tmp ); 
  22.       //On sauvegarde notre iimage redimmentionnée si souhaité
  23.       if( $sauvegarder ){ $this->sauvegarder(); } 
  24.    
  25.       return true; 
  26.    }  
  27.  
  28. ?> 


Pourquoi la ligne 22 de ma méthode rend la ressource $this->ressource invalide ???

Merci de votre aide, je perds patience :( !
moogli
moogli
Déconnecté
Il en faut peu pour être heureux !!!!!
salut;

c'est quoi l'erreur que tu a ?
Bzh
Bzh
Déconnecté
Tout simplement que $this->ressource n'est plus une ressource GD valide lorsque la ligne 23 est exécuté. Si je la commente, je n'ai plus cette erreur.

  1. <?php
  2.  
  3. //On modifie nos ressources  
  4. $this->ressource = $ressource_tmp;  
  5.  
  6. ?> 
Répondre
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Php - Breizh Blog