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] l'image obtenue contient des erreurs


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 76
    Points : 64
    Points
    64
    Par défaut [GD] l'image obtenue contient des erreurs
    Bonsoir,

    J'ai un pb avec la librairie gd2. J'aimerai afficher une image mais pas possible: IE la reconnais pas (carractères bizarres et Firefox me dit que l'image a des erreurs). Petite particuliarité ce code ce trouve dans une iframe. J'ai essayé de mettre le header un peu partout (page principale, fichier source de la frame ou les deux) et rien n'y fait. Si quelqu'un pouvait m'éclairer, ce me serait bien utile

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    header('Content-type: image/jpeg'); 
    $repertoire="Petites/";
    $fichier="photo.jpg";
    //Taille de l'image
    $largeur=50;
    $hauteur=50;
     
     
    			$taille=getimagesize($repertoire.$fichier);//Récupération de la taille de l'image
    			$src=imagecreatefromjpeg($repertoire.$fichier);//Création d'une image à partir du fichier 
    			$petite=imagecreatetruecolor($largeur,$hauteur);//Récupération des pixels en couleurs haute qualité
    			imagecopyresampled($petite, $src, 0, 0, 0, 0, $largeur, $hauteur, $taille[0], $taille[1]);//Redimensionnement de l'image
    		imagejpeg($petite,'',100);//Affiche l'image*/
    Merci

  2. #2
    Membre averti Avatar de hisy
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 377
    Points : 353
    Points
    353
    Par défaut
    Tu as essayé d'appeler ce code dans une balise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="tonCode.php">
    Take it HiSy

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 76
    Points : 64
    Points
    64
    Par défaut
    Je viens d'essayer, celà ne marche pas...

  4. #4
    Membre averti Avatar de gofono_bass
    Inscrit en
    Décembre 2005
    Messages
    383
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Décembre 2005
    Messages : 383
    Points : 448
    Points
    448
    Par défaut
    salut,
    et si tu mets cette partie dans un fichier completement independant, (sans l'integrer nulle part) l'image s'affiche correctement?
    mais pourquoi tu cours?

  5. #5
    Membre actif

    Inscrit en
    Mai 2004
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 162
    Points : 264
    Points
    264
    Par défaut
    Chez moi ce code fonctionne bien, même en l'appelant directement sans passer par un fichier intermédiaire et une balise <img>. As-tu bien vérifié le chemin de ton image de départ ?

    Sinon, si tu cherche à faire un vrai thumbnail proportionnel, va sur mon site, il y a une fonction toute faite pour cela.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 76
    Points : 64
    Points
    64
    Par défaut
    Merci de vos réponse.

    En effet, si je mets le code sur une page seule l'image s'affiche. Ce qui m'a donné l'idée de repartir d'une page neuve et de recommencer.
    Maintenant ca marche.

    Bien vu Maloc'h, je veux faire un thumbnail, un peu particulier, avec des miniatures prenant des parties aléatoires de la grande imagee. Mais j'ai déjà fait plusieurs thumbnail semblables à celui qu'il y a sur ton site.
    Pour celui ci je vais de galère en galère, maintenant il n'affiche qu'une image, mais je crois que pour ca il faut mettre le code dans un fichier non?

    voilà l'avancement

    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
    header('Content-type: image/jpeg');
    function afficheImage($repertoire,$fichier,$largeur,$hauteur){
    	$exFichier=explode('.',$fichier);
    	$index=sizeof($exFichier)-1;
    	if($fichier!="." && $fichier != ".." && $fichier!="" && ($exFichier[$index]=="jpg" || $exFichier[$index]=="JPG")){
             $taille=getimagesize($repertoire.$fichier);//Récupération de la taille de l'image
             $src=imagecreatefromjpeg($repertoire.$fichier);//Création d'une image à partir du fichier
             $petite=imagecreatetruecolor($largeur,$hauteur);//Récupération des pixels en couleurs haute qualité
             imagecopyresampled($petite, $src, 0, 0, 0, 0, $largeur, $hauteur, $taille[0], $taille[1]);//Redimensionnement de l'image
          imagejpeg($petite,'',100);
    	}
    }
    $dossier="Petites/";
    $largeur=50;//Taille de l'image
    $hauteur=50;
    $ouvrir=@opendir($dossier);
    $i=0;
    while($image=readdir($ouvrir)){
    	//Affiche l'image*/
    	afficheImage($dossier,$image,$largeur,$hauteur);
     
    }

  7. #7
    Membre actif

    Inscrit en
    Mai 2004
    Messages
    162
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 162
    Points : 264
    Points
    264
    Par défaut
    Il te faut un fichier à part, et un autre dans lequel tu places tes balises <img> dans ta boucle while... Sinon les headers ne servent à rien !

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 76
    Points : 64
    Points
    64
    Par défaut
    J'ai mis le fichier sur 2 pages différentes mais ca marche pas, désolé mais encore besoin d'aide
    première page:photo.php


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <? 
    $repertoire="Petites/";
    $ouvrir=opendir($repertoire);
     include('miniature.php');
     while($fichier=readdir($ouvrir)){
    	//Affiche l'image*/
    	if($fichier!="." && $fichier != ".." && $fichier!="" && ($exFichier[$index]=="jpg" || $exFichier[$index]=="JPG")){
     		?> <img src="<? include('miniature.php');?>" /> <?
    	}
    }
    ?>
    Et la page miniature.php

    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
     
    <?
    $fichier="02p2r2.jpg";
    $repertoire="Petites/";
    $largeur=50;//Taille de l'image
    $hauteur=50;
        $taille=getimagesize($repertoire.$fichier);//Récupération de la taille de l'image
             $src=imagecreatefromjpeg($repertoire.$fichier);//Création d'une image à partir du fichier
             $petite=imagecreatetruecolor($largeur,$hauteur);//Récupération des pixels en couleurs haute qualité
             imagecopyresampled($petite, $src, 0, 0, 0, 0, $largeur, $hauteur, $taille[0], $taille[1]);//Redimensionnement de l'image
    		 header('Content-type: image/jpeg');
      		 imagejpeg($petite);//Affiche l'image*/
    		 imagedestroy($petite);
     
    ?>
    Résultat: une seule image s'affiche...

  9. #9
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Salut, il ne faut pas faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="<? include('miniature.php');?>" />
    mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="miniature.php" />
    Je n'ai pas vérifié le reste du code

    Bon développement :-)
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

    F.A.Q. : Java, PHP, (X)HTML / CSS

    N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 76
    Points : 64
    Points
    64
    Par défaut
    C'est déjà bon à savoir,
    Merci mais à mon grand désespoir ca ne marche pas

  11. #11
    Membre averti Avatar de hisy
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 377
    Points : 353
    Points
    353
    Par défaut
    Bon faisait simple mais faisons bien ...

    Voici un code qui marche :

    image1.php :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php 
    // Envoi de l'entete :
    header("Content-type:image/png");
    // Acquisition de l'Image :
    $im = imagecreatefrompng("image/tonImage.png");
    // Generation de l'image
    imagepng($im);
    // Libreation de la ressource :
    imagedestroy($im);
    ?>
    Page.php:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php
    // ...
    <img src="image1.php" ?>
    //...
     
    ?>
    Take it HiSy

  12. #12
    Membre averti Avatar de hisy
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    377
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Novembre 2004
    Messages : 377
    Points : 353
    Points
    353
    Par défaut
    Pffff .... pas bien réveillé :

    ....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <?php 
    // ... 
    <img src="image1.php" > 
    //... 
     
    ?>
    Take it HiSy

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 76
    Points : 64
    Points
    64
    Par défaut
    Merci beaucoup tout le monde.
    J'ai recommencé mes deux pages en tenant compte de tous vos conseils et ca y es ca marche.
    A part le fait que je ne savais pas qu'il fallait mettre le ficheir dans 'image, ce qu'il s'est passé c'est que le serveur ne me renvoi pas d'erreur php en cas de faute de frappe, il n'affiche pas le contenu. Donc fichier sans erreur, fichier OK
    Merci beaucoup,
    Le but maintenant c'est que cette vignette reprenne qu'une partie de l'image,
    allé je m'y colle
    @++
    Yannick

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

Discussions similaires

  1. [GD] L'image ne peut être affichée car elle contient des erreurs
    Par The Free Man dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 29/07/2009, 18h51
  2. Image contient des erreurs (PHP GD)
    Par rollergirl dans le forum Langage
    Réponses: 1
    Dernier message: 26/04/2009, 14h29
  3. Réponses: 1
    Dernier message: 06/04/2009, 17h38
  4. Image ne peut être affichée car elle contient des erreurs !
    Par van-bom dans le forum Hébergement
    Réponses: 1
    Dernier message: 26/05/2008, 11h00
  5. [ImageMagick] Image ne pouvant être affichée car elle contient des erreurs
    Par hutchuck dans le forum Bibliothèques et frameworks
    Réponses: 5
    Dernier message: 09/12/2005, 13h59

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