Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Olivier Miakinen
J'essaye de créer une image en PHP avec le code suivant (fichier unique): ^^^^^^^^^^^^^
C'est bien là le problème.
<? function Dessin($w, $h) { // header("Content-type: image/png");
Ce que tu as commenté ici, et qui irait dans les entêtes HTTP si tu utilisais un code séparé pour l'image, tu as besoin de le spécifier d'une façon ou d'une autre.
Cette façon de le spécifier, ce serait une url de type « data », encodée par exemple en Base 64 : <http://www.ietf.org/rfc/rfc2397.txt>. Avec bien sûr un surpoids de 33 %, sans compter que l'image ne peut pas être mise en cache indépendamment du code HTML.
Je cite le tout premier paragraphe du RFC :
<cit. http://www.ietf.org/rfc/rfc2397.txt> A new URL scheme, "data", is defined. It allows inclusion of small data items as "immediate" data, as if it had been included externally. </>
<traduction approximative> Un nouveau schéma d'URL, « data », est défini. Il permet l'inclusion de *petits* items(?) de données, comme s'ils étaient inclus de façon externe. </>
C'est moi qui ai souligné *petits*. Une image de dimensions 400×200 n'est *pas* petite, sans compter qu'il est plutôt stupide de la réduire à l'affichage.
pourtant, si je change imagepng($im); en imagepng($im,"test.png"); il me créé bien l'image sur le disque
qu'ai-je faux?
Le plus simple est de faire deux fichiers, un pour le code HTML (qui peut alors être statique) et un pour l'image.
-- Olivier Miakinen Troll du plus sage chez les conviviaux : le nouveau venu, avec son clan, s'infiltre dans les groupes de nouvelles. (3 c.)
J'essaye de créer une image en PHP avec le code suivant (fichier unique):
^^^^^^^^^^^^^
C'est bien là le problème.
<?
function Dessin($w, $h) {
// header("Content-type: image/png");
Ce que tu as commenté ici, et qui irait dans les entêtes HTTP si tu
utilisais un code séparé pour l'image, tu as besoin de le spécifier
d'une façon ou d'une autre.
Cette façon de le spécifier, ce serait une url de type « data », encodée
par exemple en Base 64 : <http://www.ietf.org/rfc/rfc2397.txt>. Avec
bien sûr un surpoids de 33 %, sans compter que l'image ne peut pas être
mise en cache indépendamment du code HTML.
Je cite le tout premier paragraphe du RFC :
<cit. http://www.ietf.org/rfc/rfc2397.txt>
A new URL scheme, "data", is defined. It allows inclusion of small
data items as "immediate" data, as if it had been included
externally.
</>
<traduction approximative>
Un nouveau schéma d'URL, « data », est défini. Il permet l'inclusion
de *petits* items(?) de données, comme s'ils étaient inclus de façon
externe.
</>
C'est moi qui ai souligné *petits*. Une image de dimensions 400×200
n'est *pas* petite, sans compter qu'il est plutôt stupide de la
réduire à l'affichage.
pourtant, si je change imagepng($im); en imagepng($im,"test.png"); il me
créé bien l'image sur le disque
qu'ai-je faux?
Le plus simple est de faire deux fichiers, un pour le code HTML (qui
peut alors être statique) et un pour l'image.
--
Olivier Miakinen
Troll du plus sage chez les conviviaux : le nouveau venu, avec
son clan, s'infiltre dans les groupes de nouvelles. (3 c.)
J'essaye de créer une image en PHP avec le code suivant (fichier unique): ^^^^^^^^^^^^^
C'est bien là le problème.
<? function Dessin($w, $h) { // header("Content-type: image/png");
Ce que tu as commenté ici, et qui irait dans les entêtes HTTP si tu utilisais un code séparé pour l'image, tu as besoin de le spécifier d'une façon ou d'une autre.
Cette façon de le spécifier, ce serait une url de type « data », encodée par exemple en Base 64 : <http://www.ietf.org/rfc/rfc2397.txt>. Avec bien sûr un surpoids de 33 %, sans compter que l'image ne peut pas être mise en cache indépendamment du code HTML.
Je cite le tout premier paragraphe du RFC :
<cit. http://www.ietf.org/rfc/rfc2397.txt> A new URL scheme, "data", is defined. It allows inclusion of small data items as "immediate" data, as if it had been included externally. </>
<traduction approximative> Un nouveau schéma d'URL, « data », est défini. Il permet l'inclusion de *petits* items(?) de données, comme s'ils étaient inclus de façon externe. </>
C'est moi qui ai souligné *petits*. Une image de dimensions 400×200 n'est *pas* petite, sans compter qu'il est plutôt stupide de la réduire à l'affichage.
pourtant, si je change imagepng($im); en imagepng($im,"test.png"); il me créé bien l'image sur le disque
qu'ai-je faux?
Le plus simple est de faire deux fichiers, un pour le code HTML (qui peut alors être statique) et un pour l'image.
-- Olivier Miakinen Troll du plus sage chez les conviviaux : le nouveau venu, avec son clan, s'infiltre dans les groupes de nouvelles. (3 c.)
Bernard Loyau
bonjour,
Le plus simple est de faire deux fichiers, un pour le code HTML (qui peut alors être statique) et un pour l'image.
- t1.php contient: <? include "g1.php"; ?> <html> <head></head> <body> <h3>essai graphique</h3> <img src="<? Dessin(400,200); ?>"><br> </body> </html> mais ça ne marche tjs pas.
Firefox m'affiche:
L'image "http://127.0.0.1/Cyril/php/t1.php" ne peut être affichée car elle contient des erreurs.
Olivier Miakinen
Le plus simple est de faire deux fichiers, un pour le code HTML (qui peut alors être statique) et un pour l'image.
J'ai divisé mon code en 2 fichiers: - g1.php contient: <?php header("Content-type: image/png"); function Dessin($w, $h) { $im=imagecreate($w,$h); $blanc=imagecolorallocate($im,0xff,0xff,0xff); $noir=imagecolorallocate($im,0,0,0); $string="$w x $h"; imagestring($im,1,10,10,$string,$noir); $ret=imagepng($im); // imagedestroy($im); return $ret; };
Rajouter ici un truc du genre : Dessin($_REQUEST['w'], $_REQUEST['h']); (il faudrait vérifier les paramètres, mais bon, on va dire que c'est une ébauche).
Remplacer la ligne précédente par : <img src="g1.php?&h 0">
</body> </html> mais ça ne marche tjs pas.
Et ça aura déjà plus de chances de marcher.
Note que tu n'as pas besoin de t1.php dans un premier temps : essaye juste l'url <http://127.0.0.1/Cyril/php/g1.php?&h 0>.
Le plus simple est de faire deux fichiers, un pour le code HTML (qui
peut alors être statique) et un pour l'image.
J'ai divisé mon code en 2 fichiers:
- g1.php contient:
<?php
header("Content-type: image/png");
function Dessin($w, $h) {
$im=imagecreate($w,$h);
$blanc=imagecolorallocate($im,0xff,0xff,0xff);
$noir=imagecolorallocate($im,0,0,0);
$string="$w x $h";
imagestring($im,1,10,10,$string,$noir);
$ret=imagepng($im);
// imagedestroy($im);
return $ret;
};
Rajouter ici un truc du genre :
Dessin($_REQUEST['w'], $_REQUEST['h']);
(il faudrait vérifier les paramètres, mais bon, on va dire que c'est une
ébauche).
Le plus simple est de faire deux fichiers, un pour le code HTML (qui peut alors être statique) et un pour l'image.
J'ai divisé mon code en 2 fichiers: - g1.php contient: <?php header("Content-type: image/png"); function Dessin($w, $h) { $im=imagecreate($w,$h); $blanc=imagecolorallocate($im,0xff,0xff,0xff); $noir=imagecolorallocate($im,0,0,0); $string="$w x $h"; imagestring($im,1,10,10,$string,$noir); $ret=imagepng($im); // imagedestroy($im); return $ret; };
Rajouter ici un truc du genre : Dessin($_REQUEST['w'], $_REQUEST['h']); (il faudrait vérifier les paramètres, mais bon, on va dire que c'est une ébauche).