function AddJpegImage(JpegImage: TStream; X, Y, Width, Height: Double): Boolean;
| JpegImage | TStream. Ein Stream mit rohen JPEG-komprimierten Daten. Die Streamposition sollte sich beim Aufruf dieser Methode am Anfang der JPEG-Daten befinden |
True zurück, wenn die JPEG-Daten erfolgreich decodiert und auf der Seite eingebettet wurden. Gibt False zurück, wenn der Stream keine gültigen JPEG-Daten enthält oder der Einbettungsvorgang fehlschlägtAddJpegImage bettet ein als rohen Byte-Stream übergebenes JPEG-Bild in die aktuelle PDF-Seite ein. Da die JPEG-Daten ohne erneute Codierung direkt übernommen werden, bleibt die Bildqualität exakt so erhalten, wie sie im Quell-Stream gespeichert ist. Das macht die Methode gut geeignet für die Dokumenterzeugung mit hohem Durchsatz, bei der das Decodieren und erneute Komprimieren von Bildern unnötigen Qualitätsverlust oder CPU-Aufwand verursachen würde
Der JpegImage-Stream muss eine vollständige, gültige JPEG-Datei enthalten, beginnend beim SOI-Marker. Die aktuelle Position des Streams sollte sich vor dem Aufruf dieser Methode am Anfang der JPEG-Daten befinden. Jeder TStream-Nachfahre wird akzeptiert — TFileStream, TMemoryStream, Datenbank-Blob-Streams und so weiter
Die Parameter X und Y geben die untere linke Ecke des Platzierungsrechtecks in PDF-Benutzereinheiten an (Ursprung unten links auf der Seite, Y nimmt nach oben zu). Width und Height legen die gerenderte Größe auf der Seite fest; das JPEG wird unabhängig von seinen Pixelmaßen entsprechend skaliert
Die Methode gibt bei Erfolg True zurück. Enthält der Stream keine gültigen JPEG-Daten, gibt sie False zurück, ohne eine Ausnahme auszulösen; Aufrufer sollten daher den Rückgabewert prüfen, wenn sie mit Daten ungewisser Herkunft arbeiten
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;