Newsgroup: it.comp.www.php
Titolo: problemi con immagini a runtime

Devo costruire dei grafici a runtime in base ai dati memorizzati su un DB
MySQL. Ho usato PHPLOT e finché in output vi era la sola immagine tutto
bene. Lo script finisce con questa istruzione:
$graph->DrawGraph(); // funzione di PHPLOT
che in realtà produce il seguente codice:
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header('Last-Modified: ' . gmdate("D, d M Y H:i:s") . 'GMT');
header('Cache-Control: no-cache, must-revalidate');
header('Pragma: no-cache');
// Quest istruzioni sono servite per non fare cache-are l'immagine
Header('Content-type: image/png');
ImagePng($this->img); // stampa l'immagine vera e propria
Ora devo integrare questa immagine in una pagina html, ma ho avuto dei
problemi.
Per prima cosa ho provato a salvarmi l'immagine in una variabile:
ob_start();
$graph->DrawGraph();
$buffer = ob_get_contents();
ob_end_clean();
e poi fuori dal codice php:
<html>
<body>
<p> prova
<img src="
<?php
         print $buffer;
?>">
</p>
</body>
</html>
Beh, in output al posto dell'immagine ottengo la sua codifica ASCII.
Come posso risolvere???
Alex Ambro

 Come posso risolvere???
Mi sembra che tu non conosca bene ne l'HTML ne il protocollo HTTP.
C'e' una bella differenza tra stream binario ed un URI.
Creati uno script a se che restituisce lo stream binario dell'immagine
e utilizza:
<img src="tuoscript.php" />
per visualizzarlo.
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/1
Inviare email con allegati? 
http://url.repository.biz/go/x

Come posso risolvere???
SRC="script_generatore.php"
Leonardo
-- 
Time's angles, mages tell, conceal a place
incredible, beyond the mundane mind;
night-shrouded and between the seas of space
dread creatures drift in the ageless winds.

 <img src="tuoscript.php" />
Ho fatto anche questa prova, ma non mi va. Posso passare al mioscript.php
delle variabili con il metodo POST oppure debbo per forza scrivere una
costa del genere:
<img src="mioscript.php?name1=value1&name2=value2&...">
Alex Ambro

Tra l'altro ho trovato anche questo:
I've been playing around with the "data" URL scheme as proposed by RFC 2937
which states how to perform inline, bas64 encoded images. A number of
browsers support this format from some of my tests and would be an
interesting way of removing overhead from multiple HTTP connections.
Basically, the IMG tag would be: 
 
 <IMG SRC="/-/data:image/gif;base64,R0lGODdhMAAwAPAAAAAAAP///ywAAAAAMAAw
AAAC8IyPqcvt3wCcDkiLc7C0qwyGHhSWpjQu5yqmCYsapyuvUUlvONmOZtfzgFz
ByTB10QgxOR0TqBQejhRNzOfkVJ+5YiUqrXF5Y5lKh/DeuNcP5yLWGsEbtLiOSp
a/TPg7JpJHxyendzWTBfX0cxOnKPjgBzi4diinWGdkF8kjdfnycQZXZeYGejmJl
ZeGl9i2icVqaNVailT6F5iJ90m6mvuTS4OK05M0vDk0Q4XUtwvKOzrcd3iq9uis
F81M1OIcR7lEewwcLp7tuNNkM3uNna3F2JQFo97Vriy/Xl4/f1cf5VWzXyym7PH
hhx4dbgYKAAA7" ALT="Larry"> 
 
 Something like that. Note also that I start the URI with "/-/" before the
rest of the data scheme spec. If you don't start it with this, it won't
work in a lot of the different browsers I tested (such as IE). Note this is
useful for very small images only (as most browsers appear to have a
limitation on the size of HTML element data of 1024). Browsers where this
syntax worked that I tested are the following: 
 
 IE 6.x (windows) 
 Mozilla 0.97+ (linux) 
 Opera 5, 6 (windows) 
 Netscape 4.7+ (mac, windows) 
 IE 5 (macintosh) 
 
 This should work for other image types as well, such as PNG. JPEG files
aren't really suggested (usually, these files are too large). BTW - there
is no advantage to this method if the image will appear more than ONCE in
the page because you will be transmitting the same data multiple times as
opposed to just once (most browsers realize that already downloaded data
that has multiple references only requires one HTTP call). 
 
 Consider using this method if you want to make a single PHP program that
outputs both text and an image AND you want to make only on HTTP call.
Cheers.
Mi piacerebbe addattarlo al formato PNG
Alex Ambro

 <img src="mioscript.php?name1=value1&name2=value2&...">
Puoi passargliele invari modi (GET, sessioni, cookie, db, file etc.),
ma non per POST (se lo vuoi utilizzare in un tag IMG)


 Mi piacerebbe addattarlo al formato PNG
<IMG SRC="/-/data:image/png; ...
Ti sconsiglio fortemente l'utilizzo di questa soluzione.
