PDFium Delphi Component Docs

AddJpegImage Methode

Komponente: TPdf  ·  Unit: PDFium
Fügt der aktuellen PDF-Seite ein JPEG-Bild an den angegebenen Koordinaten hinzu

Syntax

function AddJpegImage(JpegImage: TStream; X, Y, Width, Height: Double): Boolean;

JpegImageTStream. Ein Stream mit rohen JPEG-komprimierten Daten. Die Streamposition sollte sich beim Aufruf dieser Methode am Anfang der JPEG-Daten befinden

Return Value

Gibt 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ägt

Description

AddJpegImage 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

Example

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;

See Also

AddImage, AddPicture