function AddJpegImage(JpegImage: TStream; X, Y, Width, Height: Double): Boolean;
| JpegImage | TStream. Un flusso contenente dati JPEG compressi grezzi. Alla chiamata del metodo la posizione del flusso deve trovarsi all'inizio dei dati JPEG |
True se i dati JPEG sono stati decodificati e incorporati correttamente nella pagina. Restituisce False se lo stream non contiene dati JPEG validi o se l'operazione di incorporamento fallisceAddJpegImage incorpora nella pagina PDF corrente un'immagine JPEG fornita come flusso di byte grezzi. Poiché i dati JPEG vengono passati direttamente senza essere ricodificati, la qualità dell'immagine viene preservata esattamente come memorizzata nel flusso sorgente. Questo rende il metodo particolarmente adatto alla generazione di documenti ad alto volume, dove decodificare e ricomprimere le immagini introdurrebbe inutili perdite di qualità o overhead della CPU.
Il flusso JpegImage deve contenere un file JPEG completo e valido che parte dal marcatore SOI. Prima di chiamare questo metodo, la posizione corrente del flusso deve trovarsi all'inizio dei dati JPEG. È accettato qualsiasi discendente di TStream — TFileStream, TMemoryStream, flussi blob di database e così via.
I parametri X e Y specificano l'angolo inferiore sinistro del rettangolo di posizionamento in unità utente PDF (origine nell'angolo in basso a sinistra della pagina, Y cresce verso l'alto). Width e Height impostano la dimensione di rendering sulla pagina; il JPEG viene ridimensionato per adattarsi a prescindere dalle sue dimensioni in pixel.
Il metodo restituisce True in caso di successo. Se il flusso non contiene dati JPEG validi, restituisce False senza generare un'eccezione, quindi i chiamanti dovrebbero controllare il valore di ritorno quando lavorano con dati di origine incerta.
var
Stream: TFileStream;
begin
Stream := TFileStream.Create('C:\Images\photo.jpg', fmOpenRead or fmShareDenyNone);
try
Pdf1.NewPage(595, 842);
if not Pdf1.AddJpegImage(Stream, 72, 400, 300, 225) then
ShowMessage('Failed to embed JPEG image.');
finally
Stream.Free;
end;
end;