Newsgroup: it.comp.www.php
Titolo: JPEG, progressiva/non-progressiva

Salve,
esiste in PHP una modo per convertire un file jpg-progressivo in un
file jpg non-progressivo? Ho dato un'occhiata alle librerie GD ed ho
trovato la funzione imageinterlace(). Sembrava fare al caso mio, ma in
realtà sembrerebbe non applicare la modifica al file fisico.
Questo il codice utilizzato:
$res = imagecreatefromjpeg('progressiva.jpg');
$interlacciata = imageinterlace($res);
echo ($interlacciata); // 0 o 1
Esiste una maniera per rendere definitva la conversione, modificando lo
stesso file di partenza?
Grazie, PMaker

PMaker wrote:

specifica se vuoi un file interlacciato..
int imageinterlace ( resource image [, int interlace] )
$interlacciata = imageinterlace($res, FALSE);
-- 
www.iuz-lab.info

Ciao (e grazie).
In effetti, dalla documentazione avevo letto che basterebbe omettere il
parametro, dunque non ci dovrebbero essere problemi. Il fatto è che
all'atto pratico il file non risulta fisicamente non-progressivo come
mi servirebbe. Correggimi se sbaglio, ma ho fatto diverse prove finora
(al posto del tuo FALSE ho messo anche 0, ad esempio).
PMaker

PMaker wrote:

0 dovrebbe dare lo stesso risultato di FALSE (int 0)..
sul manuale non fa riferimento ad un valore di default..
ma salvi il file prima di visualizzarlo o mandi in output direttamente?
eventualmente puoi postare il codice..
-- 
www.iuz-lab.info

In effetti, è proprio questo che vorrei sapere:
il file va salvato? E come? E 'manterrebbe' la caratteristica settata
da imageinterlace?
Il codice è quello postato, scusa comunque le domande da newbie   :-)
PMaker

PMaker wrote:

si, va salvato [ od inviato al browser previ header adeguati]..
usa 
http://php.net/imagejpeg
 ..
imagejpeg($res, 'fileName'); // assicurati che i permessi siano settati
adeguatamente..
-- 
www.iuz-lab.info

> si, va salvato [ od inviato al browser previ header adeguati]..
Quindi uno potrebbe caricare un'immagine JPG dal disco, ridimensionarla 
(senza salvarla fisicamente) e utilizzando degli "header adeguati" 
inviarla al browser senza necessariamente generare html tipo
<img src...>
?
Cioè posso visualizzare un'immagine senza dover usare il tag
<img src="/path/to/image">
?
-- 
Quando noi ignoranti eravamo di più, tutto era più bello...
(A. Celentano)
Per rispondermi in privato, prima togli l'immondizia dalla testa.

 
  diciamo che potresti anche usarlo con
<img src="/scripts/dynamic_image.php">
ciao Andrea

 
quello che e' possibile fare in sintesi..
tramite un tag <img>..
<img src="/path/to/script/image.php?imageId=1" />
image.php verra' eseguito e se viene mandato un header corretto e passata
una immagine..
il browser visualizzera' l'immagine voluta..
-- 
www.iuz-lab.info

 il browser visualizzera' l'immagine voluta..
E' questa la cosa che non mi è chiara: che significa "se viene mandato 
un header corretto"?
-- 
Quando noi ignoranti eravamo di più, tutto era più bello...
(A. Celentano)
Per rispondermi in privato, togli prima l'immondizia dalla testa ;)

Ok, grazie, ha funzionato perfettamente.
Ho letto anche i discorsi successivi e devo dire che in effetti a me
non serviva inviarla al browser 'al volo': doveva rimanere in una
cartella sul server in attesa di essere richiamata da un file .swf.
Flash non accetta il caricamento di immagini progressive: il cliente,
però, dal proprio pannello potrebbe eseguire l'upload di file jpeg
progressivi che non verrebbero visualizzati. Nel codice c'è già un
sistema che controlla il mime-type dell'immagine, ma è insufficiente:
cioè, va bene per non caricare .gif e .png ma è insufficiente per
altri scopi (da notare che i mime-type di IE e Firefox sono
differenti).
Grazie iuz,
PMaker
iuz ha scritto:


 
ie.
(Header per jpeg)
Content-type: image/jpeg
(Header per png)
Content-type: image/png
(Header per png)
Content-type: application/pdf
(Header per html)
Content-Type: text/html
quindi..
header('Content-type: image/jpeg');
imagejpeg($jpegImageResource);
-- 
www.iuz-lab.info

 
ie.
(Header per jpeg)
Content-type: image/jpeg
(Header per png)
Content-type: image/png
(Header per pdf)
