Re: etch - php5-gd : absence fonction imagerotate : Fatal error: Call to undefined function imagerotate()

2008-07-15 Par sujet Bulot Grégory
Le lundi 14 juillet 2008 23:41, BARBIER Jean-Matthieu a écrit :

 autre solution que la recompilation : recréer dans le script la fonction
 imagerotate (pour des multiples de 90°, ce qui pour des galeries photos est
 souvent suffisant) : voilà le bout de code que j'utilise (qui doit venir
 des commentaires de la doc php, de mémoire...)

 === CODE :

  if(!function_exists(imagerotate))
 {
   function imagerotate($src_img, $angle)

j'avais essayé le 1er exemple sur php.net, qui plantait, le votre est 
fonctionnel ;-)

Merci . en attendant de voir la fonction officiel intégré (qui consomme 
moins de ressource que ce script php !)

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et
Reply-To:

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



etch - php5-gd : absence fonction imagerotate : Fatal error: Call to undefined function imagerotate()

2008-07-14 Par sujet Bulot Grégory
bonjour, 


j'utilise un gestionnaire de gallery photo qui utilise la fonction gd2  
imagerotate

j'ai donc vérifier que php5-gd était bien installé, même après redémarrage 
apache, phpinfo me confirme bien la présence gd2, mais toujours le message 
(dans le flux du navigateur) signalant que la fonction imagerotate n'existe 
pas

en regardant sur le Net chez ubuntu le problème était identique, et que cela 
était du fait que le paquet avait repris 'tel quel' depuis debian.

La seule solution proposée était de recompiler 'à la main' php5-gd avec les 
directives qui vont bien.

1) y'a-t-il une solution 'plus standart' (qui suis les maj du paquet php5-gd
2) s'il n'existe que la compilation du paquet avec les options 'qui vont 
bien' : quelles sont ces option/directives ?

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/DebFrFrenchLists
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs From et
Reply-To:

To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of unsubscribe. Trouble? Contact [EMAIL PROTECTED]



Re: etch - php5-gd : absence fonction imagerotate : Fatal error: Call to undefined function imagerotate()

2008-07-14 Par sujet BARBIER Jean-Matthieu
Le Monday 14 July 2008 16:58:48 Bulot Grégory, vous avez écrit :
 bonjour,


 j'utilise un gestionnaire de gallery photo qui utilise la fonction gd2
 imagerotate

 j'ai donc vérifier que php5-gd était bien installé, même après redémarrage
 apache, phpinfo me confirme bien la présence gd2, mais toujours le message
 (dans le flux du navigateur) signalant que la fonction imagerotate n'existe
 pas

 en regardant sur le Net chez ubuntu le problème était identique, et que
 cela était du fait que le paquet avait repris 'tel quel' depuis debian.

 La seule solution proposée était de recompiler 'à la main' php5-gd avec les
 directives qui vont bien.

 1) y'a-t-il une solution 'plus standart' (qui suis les maj du paquet
 php5-gd 2) s'il n'existe que la compilation du paquet avec les options 'qui
 vont bien' : quelles sont ces option/directives ?

autre solution que la recompilation : recréer dans le script la fonction 
imagerotate (pour des multiples de 90°, ce qui pour des galeries photos est 
souvent suffisant) : voilà le bout de code que j'utilise (qui doit venir des 
commentaires de la doc php, de mémoire...)

=== CODE : 

 if(!function_exists(imagerotate))
{
  function imagerotate($src_img, $angle)
  {

if (!imageistruecolor($src_img))
{
  $w = imagesx($src_img);
  $h = imagesy($src_img);
  $t_im = imagecreatetruecolor($w,$h);
  imagecopy($t_im,$src_img,0,0,0,0,$w,$h);
  $src_img = $t_im;
}

$src_x = imagesx($src_img);
$src_y = imagesy($src_img);
if ($angle == 180)
{
  $dest_x = $src_x;
  $dest_y = $src_y;
}
elseif ($src_x = $src_y)
{
  $dest_x = $src_y;
  $dest_y = $src_x;
}
elseif ($src_x = $src_y)
{
  $dest_x = $src_y;
  $dest_y = $src_x;
}

$rotate=imagecreatetruecolor($dest_x,$dest_y);
imagealphablending($rotate, false);

switch ($angle)
{
  case 270:
for ($y = 0; $y  ($src_y); $y++)
{
  for ($x = 0; $x  ($src_x); $x++)
  {
$color = imagecolorat($src_img, $x, $y);
imagesetpixel($rotate, $dest_x - $y - 1, $x, $color);
  }
}
break;
  case 90:
for ($y = 0; $y  ($src_y); $y++)
{
  for ($x = 0; $x  ($src_x); $x++)
  {
$color = imagecolorat($src_img, $x, $y);
imagesetpixel($rotate, $y, $dest_y - $x - 1, $color);
  }
}
break;
  case 180:
for ($y = 0; $y  ($src_y); $y++)
{
  for ($x = 0; $x  ($src_x); $x++)
  {
$color = imagecolorat($src_img, $x, $y);
imagesetpixel($rotate, $dest_x - $x - 1, $dest_y - $y - 1, 
$color);
  }
}
break;
default: $rotate = $src_img;
};
return $rotate;
  }
}

===/CODE

@+
JMB

-- 
JM Barbier - Solidev.org
tel : +33 (0) 6 86 14 77 29


signature.asc
Description: This is a digitally signed message part.