Page 1 sur 2
Traitement d'images, afficher le résultat
Posté : 23 juin 2012, 10:39
par Blaise032
Bonjour,
Débutant en traitement d'images, je voudrais afficher le résultat dans un tableau.
Le code ci-dessous ne fonctionne pas.
Où est ma faute ?
Merci,
Blaise
Code : Tout sélectionner
$filename = 'images/fleche.png';
$degrees = 15;
imagepng($rotate);
// Content type
header('Content-type: image/png');
// Chargement
$source = imagecreatefrompng($filename);
// Rotation
$rotate = imagerotate($source, $degrees, 0);
// Affichage
imagepng($rotate);
Re: Traitement d'images, afficher le résultat
Posté : 23 juin 2012, 10:42
par xTG
Tu as deux fois l'instruction imagepng(), la première travaillant sur une variable qui n'existe pas encore.

Re: Traitement d'images, afficher le résultat
Posté : 23 juin 2012, 10:52
par Blaise032
Ben oui ben non.
Je ne sais pas ce qu'il est venu faire là, mais la ligne supprimée, cela ne fonctionne toujours pas.
Code : Tout sélectionner
<?php
// Fichier et degrés de rotation
$filename = 'images/fleche.png';
$degrees = 15;
// Content type
header('Content-type: image/png');
// Chargement
$source = imagecreatefrompng($filename);
// Rotation
$rotate = imagerotate($source, $degrees, 0);
// Affichage
imagepng($rotate);
?>
Re: Traitement d'images, afficher le résultat
Posté : 23 juin 2012, 11:01
par xTG
Commentes le header et le imagepng pour vérifier qu'il n'affiche aucune erreur (fichier non trouvé par exemple).
Re: Traitement d'images, afficher le résultat
Posté : 23 juin 2012, 11:17
par Blaise032
Pas d'erreur, page blanche
Je suis avec EasyPHP, y a un réglage à faire ?
Re: Traitement d'images, afficher le résultat
Posté : 23 juin 2012, 12:14
par xTG
L'affichage des erreurs dans le php.ini mais normalement il est configuré de base.
Laisses le header commenté et décommentes imagepng.
Tu devrais avoir le contenu du fichier d'affiché du coup.
Si toujours page blanche alors oui il y a une erreur mais les erreurs PHP ne sont pas affichées.
Tu peux auquel cas regarder le fichier de log de PHP ou bien activer leur affichage dans le php.ini (error_reporting).
Re: Traitement d'images, afficher le résultat
Posté : 23 juin 2012, 13:34
par Blaise032
Je pensais à un réglage pour les images. S'il y a erreur, les messages s'affichent bien.
L'image existe.
Avec que le header commenté, l'image s'affiche en ASCII
Re: Traitement d'images, afficher le résultat
Posté : 23 juin 2012, 15:43
par xTG
La librairie GD est-elle bien installée et activée sur ton serveur ?
Je viens de tester le script et il fonctionne.
Re: Traitement d'images, afficher le résultat
Posté : 23 juin 2012, 16:44
par Blaise032
Oui, la libraire est bien active.
firefox est plus loquace : cette image ne peut être affichée car elle contient des erreurs
Re: Traitement d'images, afficher le résultat
Posté : 23 juin 2012, 17:14
par xTG
Tu n'aurais pas des caractères non imprimables avant <?php ???
Cela pourrait expliquer le problème.

Re: Traitement d'images, afficher le résultat
Posté : 23 juin 2012, 17:51
par Blaise032
Le fichier complet
Code : Tout sélectionner
<?php /* Date de création: 23/06/2012 */ ?>
<html>
<body>
<?php
//phpinfo();
//echo '<img src="images/fleche.png" border="0" alt="">';
// Fichier et degrés de rotation
$filename = 'images/NESW.png';
$degrees = 15;
// Content type
header('Content-type: image/png');
// Chargement
$source = imagecreatefrompng($filename);
// Rotation
$rotate = imagerotate($source, $degrees, 0);
// Affichage
imagepng($rotate);
?>
</body>
</html>
Re: Traitement d'images, afficher le résultat
Posté : 23 juin 2012, 18:00
par xTG
Ah bah ceci explique cela...
Ton header() spécifie une image mais tu envoies aussi du HTML.
Voilà la correction.
Page d'affichage :
<html>
<body>
<img src="monScript.php" alt="" />
</body>
</html>
monScript.php
<?php
// Fichier et degrés de rotation
$filename = 'images/NESW.png';
$degrees = 15;
// Content type
header('Content-type: image/png');
// Chargement
$source = imagecreatefrompng($filename);
// Rotation
$rotate = imagerotate($source, $degrees, 0);
// Affichage
imagepng($rotate);
?>
Re: Traitement d'images, afficher le résultat
Posté : 23 juin 2012, 18:19
par Blaise032
Okay, comme cela ça fonctionne.
Mais comment fais-je lorsqu'il y a un mélange des deux ?
Tout le fichier doit être en php , y compris les balises <html> <head> ... ?
Re: Traitement d'images, afficher le résultat
Posté : 23 juin 2012, 18:26
par xTG
Tu ne peux mélanger différents types de contenu.
Ce serait comme mélanger un fichier PDF avec un fichier MP3.
Comment le lecteur de musique serait capable de faire la distinction entre les deux dans le fichier ? Ce n'est absolument pas prévu ainsi.
Là c'est pareil pour le navigateur, il traite soit du text/html soit du image/png mais il ne peut traiter les deux en même temps.
Re: Traitement d'images, afficher le résultat
Posté : 23 juin 2012, 18:41
par Blaise032
Cela me laisse dubitatif.
J'ai une page météo et je veux afficher la direction du vent.
Je pensais trouver mon bonheur avec imagerotate, mais je ne suis pas plus avancé.
Tu vois mon problème ?
As-tu une solution, ou simplement me mettre sur la bonne voie ?
Merci en tout cas