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] imagerotate() error


Sujet :

Bibliothèques et frameworks PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2004
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 32
    Par défaut [GD] imagerotate() error
    Bonjour,

    J'ai une erreur quand j'utilise la fonction imagerotate.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Call to undefined function imagerotate()
    Pourtant GD2 est bien configuré, j'utilise dans le même script d'autre fonction comme createimagefrom... ou imagecopyresampled qui ne pausaient aucun problème.

    C'est en voulant ajouter une fonctionnalité pour retourner une image que cette erreur est apparu.

    Quelqu'un aurait rencontré des problèmes avec cette méthode ?

    Merci d'avance,

    PS: Je suis hebergé en mutualisé chez 1and1.

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 719
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 719
    Par défaut
    d'après la documentation (http://php.net/imagerotate) cette fonction est seulement disponible à partir de PHP 4.3.0
    renseigne toi chez ton hébérgeur pour connaitre la version de PHP que tu as

  3. #3
    Membre averti
    Inscrit en
    Février 2004
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 32
    Par défaut
    Je suis sur PHP5
    Cette erreur est vraiment bizare ...

  4. #4
    Membre averti
    Inscrit en
    Février 2004
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 32
    Par défaut
    En attendant j'ai recrée la fonction imagerotate, je ne sais toujours pas d'ou venait le problème ...

    Voila les deux fonctions que j'ai ajouté:

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    // $imgSrc - GD image handle of source image
    	// $angle - angle of rotation. Needs to be positive integer
    	// angle shall be 0,90,180,270, but if you give other it
    	// will be rouned to nearest right angle (i.e. 52->90 degs,
    	// 96->90 degs)
    	// returns GD image handle of rotated image.
    	protected function ImageRotateRightAngle( $imgSrc, $angle )
    	{
    	   // ensuring we got really RightAngle (if not we choose the closest one)
    	   $angle = min( ( (int)(($angle+45) / 90) * 90), 270 );
     
    	   // no need to fight
    	   if( $angle == 0 )
    		   return( $imgSrc );
     
    	   // dimenstion of source image
    	   $srcX = imagesx( $imgSrc );
    	   $srcY = imagesy( $imgSrc );
     
    	   switch( $angle )
    		   {
    		   case 90:
    			   $imgDest = imagecreatetruecolor( $srcY, $srcX );
    			   for( $x=0; $x<$srcX; $x++ )
    				   for( $y=0; $y<$srcY; $y++ )
    					   imagecopy($imgDest, $imgSrc, $srcY-$y-1, $x, $x, $y, 1, 1);
    			   break;
     
    		   case 180:
    			   $imgDest = $this->ImageFlip( $imgSrc, IMAGE_FLIP_BOTH );
    			   break;
     
    		   case 270:
    			   $imgDest = imagecreatetruecolor( $srcY, $srcX );
    			   for( $x=0; $x<$srcX; $x++ )
    				   for( $y=0; $y<$srcY; $y++ )
    					   imagecopy($imgDest, $imgSrc, $y, $srcX-$x-1, $x, $y, 1, 1);
    			   break;
    		   }
     
    	   return( $imgDest );
    	}
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    protected function ImageFlip($imgsrc, $type)
    	{
    	   $width = imagesx($imgsrc);
    	   $height = imagesy($imgsrc);
     
    	   $imgdest = imagecreatetruecolor($width, $height);
     
    	   switch( $type )
    		   {
    		   // mirror wzgl. osi
    		   case IMAGE_FLIP_HORIZONTAL:
    			   for( $y=0 ; $y<$height ; $y++ )
    				   imagecopy($imgdest, $imgsrc, 0, $height-$y-1, 0, $y, $width, 1);
    			   break;
     
    		   case IMAGE_FLIP_VERTICAL:
    			   for( $x=0 ; $x<$width ; $x++ )
    				   imagecopy($imgdest, $imgsrc, $width-$x-1, 0, $x, 0, 1, $height);
    			   break;
     
    		   case IMAGE_FLIP_BOTH:
    			   for( $x=0 ; $x<$width ; $x++ )
    				   imagecopy($imgdest, $imgsrc, $width-$x-1, 0, $x, 0, 1, $height);
     
    			   $rowBuffer = imagecreatetruecolor($width, 1);
    			   for( $y=0 ; $y<($height/2) ; $y++ )
    				   {
    				   imagecopy($rowBuffer, $imgdest  , 0, 0, 0, $height-$y-1, $width, 1);
    				   imagecopy($imgdest  , $imgdest  , 0, $height-$y-1, 0, $y, $width, 1);
    				   imagecopy($imgdest  , $rowBuffer, 0, $y, 0, 0, $width, 1);
    				   }
     
    			   imagedestroy( $rowBuffer );
    			   break;
    		   }
     
    	   return( $imgdest );
    	}

  5. #5
    Membre averti
    Inscrit en
    Février 2004
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 32
    Par défaut
    Autre question pendant qu'on y est ...
    Je n'arrive pas à redimenssioner un gif en gardant la transparence, quelqu'un aurait un petit bout de code sous la main ?

  6. #6
    Membre éclairé
    Inscrit en
    Avril 2003
    Messages
    216
    Détails du profil
    Informations forums :
    Inscription : Avril 2003
    Messages : 216
    Par défaut meme probleme
    Cydo j'ai le meme probleme, mais je ne comprend pas où tu as ajouté ces fonctions pour que ça marche ?

    ma fonction :
    $degrees = 180;
    $rotate = imagerotate($thumb, $degrees, 0);

    Merci !!!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. ERROR: pg_atoi: zero-length string
    Par steelspirit92 dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 23/08/2003, 22h29
  2. [SQL Server] Error converting data type varchar...
    Par Sir Tengu dans le forum MS SQL Server
    Réponses: 9
    Dernier message: 13/06/2003, 10h46
  3. [Kylix] Kylix c++ error
    Par pacpac dans le forum EDI
    Réponses: 2
    Dernier message: 10/06/2003, 16h27
  4. [CR] Print Engine error text
    Par afaraji dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 03/09/2002, 15h44
  5. [Kylix] Runtime error 230 avec INDY
    Par Anonymous dans le forum EDI
    Réponses: 2
    Dernier message: 23/03/2002, 11h51

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