PHP : changer la couleur d'une photo

Résolu
salut;
je veux modifier la couleur d'une photo en utilisant php
j'ai fait sa :
<?php
// Création des instances d'image
$dest = imagecreatefromgif('photo016.jpg');
$src = imagecreatefromgif('photo016.jpg');

// Copie et fusionne - Gris = 20%
imagecopymergegray($dest, $src, 10, 10, 0, 0, 100, 47, 20);

// Affichage et libère la mémoire
header('Content-Type: image/jpg');
imagejpg($dest);

imagedestroy($dest);
imagedestroy($src);
?>



mais j'ai eu cette erreur :
Fatal error: Call to undefined function imagecreatefromgif() in C:\Program Files\EasyPHP 2.0b1\home\imagegri.php on line 3

je sais pas comment faire je suis débutante en php

quelqu'un pourrez m'aider?

merci d'avance
Configuration: Windows XP
Firefox 3.0.10

11 réponses

  1. Tu appelles une fonction " imagecreatefromgif() " que tu n'as definie il ne peut pas deviner ce que tu veux qu'elle fasse, je suppose que tu as pris ce code sur un site web il faut aussi que tu trouves la definition de la fonction imagecreatefromgif() et que tu la rajoutes au debut dans le header de la page
    1
    1. oui vous avez raison j'ai trouver cette fonction sur un site.

      je sais pas comment définir cette fonction!!!
      0
      1. C'est une fonction de la librairie gd qui ne doit pas être activée sur ton installation d'easyphp...

        Ouvre ton fichier php.ini et cherche la ligne
        ;extension=php_gd2.dll
        Tu la décommentes (enlève le ";" au début et ça devrait marcher.

        Par contre tous les hébergeurs n'autorisent pas l'utilisation de cette librairie, fais-y attention quand tu mettras ton site sur internet.
        0
    2. bsr a mon avis tu utilise une fonction (qui est definie dans php ) qui traite les images gif , hors ton image est en jpeg....

      essaye ça :

      $img_src=imagecreatefromjpeg('photo016.jpg');
      $im_dest=$img_src;
      if($img_src  &&  $img_dest)
      {
      $res_img=imagecopymergegray($img_src, $img_dest, 10, 10, 0, 0, 100, 47, 20);
      header('Content-Type: image/jpg');
      imagejpg($res_img);
      }
      else
      {
      echo'impossible d\'ouvrir l\'image';
      }
      


      voila j'ai pas testé maais ya pas de raisons que ca mache pas
      0
      1. merci pour votre réponse;
        j'ai trouver 2 fichier
        -php.ini-recommended
        -php.ini-dist

        et dans les 2 j'ai enlever le ;
        et j'ai eu encore fatal error
        0
        1. c'est pas les bon ..
          php.ini

          pour savoir ou il se trouve fait un fichier texte avec dedans marqué ceci
          <?PHP
          phpinfo();
          ?>

          tu l'enregistre et tu le renomme info.php
          puis tu le place a la racine de ton site
          puis ensuite tu tape dans ton navigateur urldetonsite/info.php

          et tu recherche Loaded Configuration File (c'est au debut) et tu verra ou se trouve ton php.ini
          de plus tu pourra verifeir si la librairie gd est installée
          il y a un champ gd qui te donne la version (la 2 je parie)

          0
      2. merci pour votre aide;
        j'ai trouver le fichier php.ini
        et je suis a la recherche de la ligne ;extention=php_gd2.dll

        et j'ai trouver sa :
        [gd]
        ; Tell the jpeg decode to libjpeg warnings and try to create
        ; a gd image. The warning will then be displayed as notices
        ; disabled by default
        ;gd.jpeg_ignore_warning = 0

        vous m'avez dit que vous trouvez un champ gd je pense que c'est celui la
        0
        1. Un efois que tu as ouvert php.ini avec ton éditeur de texte, tape Ctrl+F, ça devrait ouvrir une fenêtre de recherche, tape php_gd dedans et cherche la ligne que je t'ai indiqué. La ligne que tu as trouvée sert à configurer GD, mais pas à l'activer...
          0
      3. Non,

        Si tu n'as pas la ligne de l'extension, ajoute-la au fichier, et redémarre easyphp.
        0
        1. merci a vous deux;

          je viens de trouver cette ligne :;extension=php_gd2.dll
          et j'ai enlever le ; et j'ai utiliser le code de lewis

          et il y la même erreur!!!
          0
          1. Il faut redémarrer le serveur.
            0
        2. ah ok ok!
          sorry!
          0
          1. Pas de soucis ! Ça marche ?
            0
        3. non;
          voila:
          Warning: imagecreatefromjpeg(photo016.jpg) [function.imagecreatefromjpeg]: failed to open stream: No such file or directory in C:\Program Files\EasyPHP 2.0b1\home\imagegri.php on line 3
          impossible d'ouvrir l'image

          apparemment c'est a cause de l'extension jpg
          0
          1. Non, c'est parce que le fichier que tu essaies d'ouvrir n'existe pas (ou il n'est pas là où tu l'indiques).
            0
        4. voila ce que j'ai fait :
          j'ai écrit le chemin ou se trouve la photo :
          $img_src=imagecreatefromjpeg('C:\Documents and Settings\ninou\Mes documents\Mes images\ninoupicha\photo016.jpg');

          et j'ai exécuté il ma renvoyé sa :
          http://127.0.0.1/home/imagegri.php

          j'ai pas comprit!!!
          0
          1. merci a vous deux
            j'ai résolu le problème !
            0