Traitement d'images, afficher le résultat

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Traitement d'images, afficher le résultat

Re: Traitement d'images, afficher le résultat

par Blaise032 » 23 juin 2012, 20:23

Un grand merci xTG. Un bon dimanche !
En Belgique, il va encore pleuvoir http://pascal.cambier.eu/kain/meteo

Re: Traitement d'images, afficher le résultat

par xTG » 23 juin 2012, 19:03

Tu peux passer des arguments à un script PHP. ;)

Exemple (qui n'a pas grand intérêt on en convient, mais l'idée est là) :
<img src="script.php?image=soleil" alt="soleil" />
<img src="script.php?image=pluie" alt="pluie" />
<?php
$url_image = "img/vide.png";
if( isSet($_GET['image']) ){
  if($_GET['image'] == "soleil")
    $url_image = "img/soleil.png";
  else if($_GET['image'] == "pluie")
    $url_image = "img/pluie.png";
}

header('Content-type: image/png');
$source = imagecreatefrompng($url_image);
imagepng($rotate);
?>

Re: Traitement d'images, afficher le résultat

par Blaise032 » 23 juin 2012, 18:41

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

Re: Traitement d'images, afficher le résultat

par xTG » 23 juin 2012, 18:26

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

par Blaise032 » 23 juin 2012, 18:19

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

par xTG » 23 juin 2012, 18:00

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

par Blaise032 » 23 juin 2012, 17:51

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

par xTG » 23 juin 2012, 17:14

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

par Blaise032 » 23 juin 2012, 16:44

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

par xTG » 23 juin 2012, 15:43

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

par Blaise032 » 23 juin 2012, 13:34

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

par xTG » 23 juin 2012, 12:14

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

par Blaise032 » 23 juin 2012, 11:17

Pas d'erreur, page blanche
Je suis avec EasyPHP, y a un réglage à faire ?

Re: Traitement d'images, afficher le résultat

par xTG » 23 juin 2012, 11:01

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

par Blaise032 » 23 juin 2012, 10:52

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); ?>