Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2675 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  imagejpeg(); J'veux les pixels...pas le code !

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

imagejpeg(); J'veux les pixels...pas le code !

n°1243413
shoshenk
Bipède dans le cyberespace
Posté le 10-11-2005 à 17:59:33  profilanswer
 

Bonsoir,
 
Je sèche sur un truc particulier :
Je génère une miniature "à la volée"...mais ça affiche du code au lieu de l'image  :??:  
script :  
header("Content-Type: image/jpeg" );
list($width, $height, $type, $attr) = getimagesize("$pic" );
echo "Type : $type<br>";
if($type == "1" )
{ $img_in = imagecreatefromgif($pic); }
 
if($type == "2" )
{ $img_in = imagecreatefromjpeg($pic); }
 
if($type == "3" )
{ $img_in = imagecreatefrompng($pic); }
 
$img_out = imagecreatetruecolor($largeur, $hauteur);
imagecopyresampled($img_out, $img_in, 0, 0, 0, 0, imagesx($img_out), imagesy($img_out), imagesx($img_in), imagesy($img_in));
 
$t = imagejpeg($img_out);
echo $t;

Fin du script


Message édité par shoshenk le 10-11-2005 à 20:07:32

---------------
===   [ACH] M42 // Tamron SP // Matos de studio  ===   Achats Matos PC  ===
mood
Publicité
Posté le 10-11-2005 à 17:59:33  profilanswer
 

n°1243425
2xyo
2*yo = yoyo
Posté le 10-11-2005 à 18:06:06  profilanswer
 

Tout ça est inclu dans un autre fichier ?


---------------
2 * yo = yoyo
n°1243426
shoshenk
Bipède dans le cyberespace
Posté le 10-11-2005 à 18:07:09  profilanswer
 

2xyo a écrit :

Tout ça est inclu dans un autre fichier ?


Vi, c'est inclu via un include !


---------------
===   [ACH] M42 // Tamron SP // Matos de studio  ===   Achats Matos PC  ===
n°1243465
2xyo
2*yo = yoyo
Posté le 10-11-2005 à 19:07:32  profilanswer
 

donc c'est normal que ça foire....
Pour afficher t'a miniature, i; faut dans le code HTML insérer une balise <img> avec pour adresse d'image, l'adresse de la page de ton script.


---------------
2 * yo = yoyo
n°1243532
shoshenk
Bipède dans le cyberespace
Posté le 10-11-2005 à 20:04:39  profilanswer
 

2xyo a écrit :

donc c'est normal que ça foire....
Pour afficher t'a miniature, i; faut dans le code HTML insérer une balise <img> avec pour adresse d'image, l'adresse de la page de ton script.


J'ai pas bien saisi...Je pensais que l'image générée venait du cache !
 
Bon, pour résoudre le pb du header, je fais en sorte qu'il puisse être rechargé soit :
header('Last-Modified: '.gmdate('D, d M Y H:i:s', $timestamp).' GMT');
 
Maintenant, j'ai toujours le code de l'image et non son interprétation ??


---------------
===   [ACH] M42 // Tamron SP // Matos de studio  ===   Achats Matos PC  ===
n°1243544
shoshenk
Bipède dans le cyberespace
Posté le 10-11-2005 à 20:28:41  profilanswer
 

Si je mets un echo "<IMG src=\"$t\">"; c'est encore pire ! (genre 2000 lignes de hiéroglyphes !)
Vais devenir chèvre, là ?!


---------------
===   [ACH] M42 // Tamron SP // Matos de studio  ===   Achats Matos PC  ===
n°1243545
shoshenk
Bipède dans le cyberespace
Posté le 10-11-2005 à 20:29:57  profilanswer
 

2xyo a écrit :

donc c'est normal que ça foire....
Pour afficher t'a miniature, i; faut dans le code HTML insérer une balise <img> avec pour adresse d'image, l'adresse de la page de ton script.


Tu peux me refaire l'explication avec une ligne de code ? Je pige pas bien la démarche...


---------------
===   [ACH] M42 // Tamron SP // Matos de studio  ===   Achats Matos PC  ===
n°1243678
shoshenk
Bipède dans le cyberespace
Posté le 10-11-2005 à 23:30:54  profilanswer
 

up


---------------
===   [ACH] M42 // Tamron SP // Matos de studio  ===   Achats Matos PC  ===
n°1243713
Ricco
Retour au pays
Posté le 11-11-2005 à 01:01:37  profilanswer
 

shoshenk a écrit :

Tu peux me refaire l'explication avec une ligne de code ? Je pige pas bien la démarche...


 
Faut le faire avec 2 fichiers. Le index.php qui contiendrait <img src=miniature.php />
 
Je vois pas pourquoi ça marche pas déja ... Pê tente de remplacer
 

Code :
  1. $t = imagejpeg($img_out);
  2. echo $t;


 
par  

Code :
  1. imagejpeg($img_out);


 
Je l'ai fait cet aprèms justement en modifiant le script fournit sur http://developpeur.journaldunet.co [...] ture.shtml


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
n°1243767
shoshenk
Bipède dans le cyberespace
Posté le 11-11-2005 à 10:15:17  profilanswer
 

Ricco a écrit :

Faut le faire avec 2 fichiers. Le index.php qui contiendrait <img src=miniature.php />
Je vois pas pourquoi ça marche pas déja ... Pê tente de remplacer

Code :
  1. $t = imagejpeg($img_out);
  2. echo $t;


par  

Code :
  1. imagejpeg($img_out);


 
Je l'ai fait cet aprèms justement en modifiant le script fournit sur http://developpeur.journaldunet.co [...] ture.shtml


J'avais essayé de remplacer l'echo...sans succès !
Par contre, je vais tester le code de ton lien ; sous forme de fonction, ça risque d'être interprété correctement...et puis, y'a apparement pas le problème d'entête !


---------------
===   [ACH] M42 // Tamron SP // Matos de studio  ===   Achats Matos PC  ===
mood
Publicité
Posté le 11-11-2005 à 10:15:17  profilanswer
 

n°1243772
Ricco
Retour au pays
Posté le 11-11-2005 à 10:36:02  profilanswer
 

Ils ne l'ont pas mis mais perso j'ai rajouté un header dans mon script.
Mais quand tu dis que ça t'affiche du code ... tu veux dire du php ou le binaire de l'image ? Dans ce cas là t'es sur que y'a pas d'autres messages d'erreur php au milieu qui t'empêchent d'afficher l'image ?


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
n°1243794
lowcraft
Posté le 11-11-2005 à 11:26:11  profilanswer
 

Dans l'absolu, un fichier php peut retourner de facon brute une image, sans devoir passé par un parser html qui s'occuperais de lancer le script php. Pour cela, il suffit juste de redirigé le flux des données de l'image (la fonction echo tout simplement) vers le navigateur, et bien sure, ne pas avoir omis les en-têtes Content-Type.
NOTE : Un espace avant <? ou après ?> pose problème quand à l'interpretation des données, attention.
 
Low

n°1243824
shoshenk
Bipède dans le cyberespace
Posté le 11-11-2005 à 13:18:49  profilanswer
 

lowcraft a écrit :

Dans l'absolu, un fichier php peut retourner de facon brute une image, sans devoir passé par un parser html qui s'occuperais de lancer le script php. Pour cela, il suffit juste de redirigé le flux des données de l'image (la fonction echo tout simplement) vers le navigateur, et bien sure, ne pas avoir omis les en-têtes Content-Type.
NOTE : Un espace avant <? ou après ?> pose problème quand à l'interpretation des données, attention.
 
Low


 :cry: J'comprends vraiment pas  :cry:  
 

Code :
  1. $thumbnail = imagejpeg($img_out);
  2. header('Last-Modified: '.gmdate('D, d M Y H:i:s', $timestamp).' GMT');
  3. header("Content-Type: image/jpeg" ); ?>
  4. <?=$thumbnail;


ça renvoie toujours le binaire de l'image !!!

Message cité 1 fois
Message édité par shoshenk le 11-11-2005 à 13:20:36

---------------
===   [ACH] M42 // Tamron SP // Matos de studio  ===   Achats Matos PC  ===
n°1243845
Ricco
Retour au pays
Posté le 11-11-2005 à 13:46:30  profilanswer
 

shoshenk a écrit :

:cry: J'comprends vraiment pas  :cry:  
 

Code :
  1. header("Content-Type: image/jpeg" );
  2. imagejpeg($img_out);


 
ça renvoie toujours le binaire de l'image !!!


 
Ca vient surement d'aileurs alors ...
Et quand tu sauvegarde la page dans un fichier jpeg ça donne bien l'image que tu veux ?


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
n°1243862
T509
$job-&gt;GetJob(now)
Posté le 11-11-2005 à 14:09:38  profilanswer
 
n°1243868
shoshenk
Bipède dans le cyberespace
Posté le 11-11-2005 à 14:21:28  profilanswer
 


J'ai "nettoyé" les blancs  ;)  : Toujours le binaire...
Je vais faire une page à part pour ce code et l'inclure dans ma page principale !


---------------
===   [ACH] M42 // Tamron SP // Matos de studio  ===   Achats Matos PC  ===
n°1243918
shoshenk
Bipède dans le cyberespace
Posté le 11-11-2005 à 16:02:43  profilanswer
 

Ok, j'ai pris exactement le code de phpteam et ça marche !!!
En fait, il faut appeler l'image générée comme ceci :
<IMG src='miniature.php'>
 
Je vais tester un <IMG src='$thumbnail'>


---------------
===   [ACH] M42 // Tamron SP // Matos de studio  ===   Achats Matos PC  ===
n°1245411
shoshenk
Bipède dans le cyberespace
Posté le 14-11-2005 à 16:45:27  profilanswer
 

shoshenk a écrit :

Ok, j'ai pris exactement le code de phpteam et ça marche !!!
En fait, il faut appeler l'image générée comme ceci :
<IMG src='miniature.php'>
 
Je vais tester un <IMG src='$thumbnail'>


ça marche toujours pô ! J'abandonne ; je vais me contenter de "resizer" l'image en plus petit...
Les problèmes de header déjà envoyés (en l'occurence session_start dans mon cas) sont bloquants !


---------------
===   [ACH] M42 // Tamron SP // Matos de studio  ===   Achats Matos PC  ===
n°1245440
antp
Super Administrateur
Champion des excuses bidons
Posté le 14-11-2005 à 17:26:39  profilanswer
 

shoshenk a écrit :

Ok, j'ai pris exactement le code de phpteam et ça marche !!!
En fait, il faut appeler l'image générée comme ceci :
<IMG src='miniature.php'>
 
Je vais tester un <IMG src='$thumbnail'>


 
:heink: heu $thumbnail c'est pas l'image elle-même dans ton cas ? <img> c'est du html, c'est le navigateur qui s'en occupe. C'est censé contenir le nom du fichier dans lequel est l'image, donc ta page PHP. Pas le contenu de l'image elle-même.
Quand tu fais <img src="miniature.php"> le browser va afficher l'image générée par miniature.php
Quand tu fais <img src="$thumbnail"> le browser va recevoir  <img src="ÿØÿàJFIF......."> c'est à dire le contenu de l'image plutôt que son nom

Message cité 1 fois
Message édité par antp le 14-11-2005 à 17:28:31

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°1245852
shoshenk
Bipède dans le cyberespace
Posté le 15-11-2005 à 11:02:40  profilanswer
 

antp a écrit :

:heink: heu $thumbnail c'est pas l'image elle-même dans ton cas ? <img> c'est du html, c'est le navigateur qui s'en occupe. C'est censé contenir le nom du fichier dans lequel est l'image, donc ta page PHP. Pas le contenu de l'image elle-même.
Quand tu fais <img src="miniature.php"> le browser va afficher l'image générée par miniature.php
Quand tu fais <img src="$thumbnail"> le browser va recevoir  <img src="ÿØÿàJFIF......."> c'est à dire le contenu de l'image plutôt que son nom


Yep...Suis d'accord !
Si je fais appel à une page qui génère ma miniature, j'ai un problème de header (une session est lancée dans la page principale)...


---------------
===   [ACH] M42 // Tamron SP // Matos de studio  ===   Achats Matos PC  ===
n°1245857
antp
Super Administrateur
Champion des excuses bidons
Posté le 15-11-2005 à 11:10:09  profilanswer
 
n°1246073
shoshenk
Bipède dans le cyberespace
Posté le 15-11-2005 à 15:36:34  profilanswer
 

antp a écrit :

Je vois pas le rapport :??:


Moi non plus,  :D mais c'est ce qui fait que le binaire de l'image s'affiche au lieu de l'image !!! (et je pense que c'est dû au header qui ne se charge pas)


---------------
===   [ACH] M42 // Tamron SP // Matos de studio  ===   Achats Matos PC  ===
n°1246078
antp
Super Administrateur
Champion des excuses bidons
Posté le 15-11-2005 à 15:39:46  profilanswer
 

T'as deux choses :
- la page php qui génère du html qui contient le <img src="...">
- la page php qui génère l'image
j'ai l'impression que tu mélanges les deux d'après les quelques bribes de code postées, et surtout quand tu dis  

Citation :


En fait, il faut appeler l'image générée comme ceci :
<IMG src='miniature.php'>
 
Je vais tester un <IMG src='$thumbnail'>


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°1246207
omega2
Posté le 15-11-2005 à 17:06:21  profilanswer
 

Citation :

Ce soir, je vais acheter du lait et du produit vaiselle, mais attention, les deux dans la même bouteille. Mais Y a pas de crainte à avoir, je ferais le tri chez moi.


Zut, alors, moi, je sais pas séparer les deux si on me les met dans la même bouteille.
 
Ben en fait, le navigateur, il est comme moi, le navigateur si tu lui mélanges du texte et le contenu d'un fichier d'image il saurat pas t'afficher l'image vu qu'il ne peut pas deviner où commence et finis une image et où commence et finis du simple texte. C'est pour ça qu'il faut lui envoyer séparément la page html et le texte. Dans la page html, t'utilises la balise qui permet d'indiquer qu'on veut afficher une image à cet endroit là de la page (la balise <img> ) et dans cette image, tu lui indiques que l'image se trouves à telle adresse (adresse du script qui génére et envoie l'image et rien que l'image, aucune autre texte)

n°1246479
shoshenk
Bipède dans le cyberespace
Posté le 16-11-2005 à 00:40:15  profilanswer
 

J'avais bien compris antp et omega2...
Ce qui me pose réellement des pb, c'est le header !
Dans ma page "image" (celle qui contient l'image générée), il y a un header type jpeg...
Dans ma page "html" (celle qui affiche la source), il y a un session_start()
C'est là que ça cloche et vu que les deux sont indispensables...je bloque !? (voilà pourquoi je me contente maintenant de resizer l'image d'origine)


---------------
===   [ACH] M42 // Tamron SP // Matos de studio  ===   Achats Matos PC  ===
n°1246600
Ricco
Retour au pays
Posté le 16-11-2005 à 10:51:58  profilanswer
 

Je vois pas le problème. Y'a un header différent pour chaque fichier php, ça pose pas de pblm.


---------------
"L'informatique n'est pas plus la science des ordinateurs que l'astronomie n'est celle des télescopes." Michael R. Fellows & Ian Parberry
n°1246631
antp
Super Administrateur
Champion des excuses bidons
Posté le 16-11-2005 à 11:38:52  profilanswer
 

shoshenk a écrit :


Dans ma page "image" (celle qui contient l'image générée), il y a un header type jpeg...
Dans ma page "html" (celle qui affiche la source), il y a un session_start()
C'est là que ça cloche et vu que les deux sont indispensables...je bloque !?


 
:heink: bah c'est deux pages différentes, je vois pas le problème... rien ne t'empêche de faire un session_start dans la page "image" en plus du header jpeg si t'en as besoin


Message édité par antp le 16-11-2005 à 11:39:13

---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  imagejpeg(); J'veux les pixels...pas le code !

 

Sujets relatifs
changer le PATH dans le codelecture code
qu'est ce que fait ce code ?super débutante lecteur code barre
erreur dans codeColoration et regex, marche comme ca veux
inserer du code grace a jsCode source Galerie photos fonctionnelle
Lecture d'un code VBA"unreachable code " d'où provient cette erreur?
Plus de sujets relatifs à : imagejpeg(); J'veux les pixels...pas le code !


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR