PDFium Component Docs

AddJpegImage Metoda

Ten wpis API zachowuje identyfikatory, sygnatury, bloki kodu i terminy PDF w oryginalnej postaci.
Komponent: TPdf  ·  Moduł: PDFium
Dodaje obraz JPEG do bieżącej strony PDF z użyciem podanych współrzędnych

Składnia

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

JpegImageTStream. Strumień zawierający surowe dane skompresowane JPEG. Pozycja strumienia powinna znajdować się na początku danych JPEG w chwili wywołania tej metody

Wartość zwracana

Zwraca True, jeśli dane JPEG zostały poprawnie zdekodowane i osadzone na stronie. Zwraca False, jeśli strumień nie zawiera poprawnych danych JPEG albo operacja osadzania się nie powiedzie

Opis

AddJpegImage osadza obraz JPEG dostarczony jako surowy strumień bajtów na bieżącej stronie PDF. Ponieważ dane JPEG są przekazywane bez ponownego kodowania, jakość obrazu pozostaje dokładnie taka jak w strumieniu źródłowym. To sprawia, że metoda dobrze nadaje się do masowego generowania dokumentów, w których dekodowanie i ponowne kompresowanie obrazów wprowadzałoby niepotrzebną utratę jakości albo narzut CPU

Strumień JpegImage musi zawierać kompletny, poprawny plik JPEG zaczynający się od znacznika SOI. Przed wywołaniem tej metody bieżąca pozycja strumienia powinna wskazywać początek danych JPEG. Akceptowany jest każdy potomek TStreamTFileStream, TMemoryStream, strumienie blob z bazy danych i tak dalej

Parametry X i Y określają lewy dolny róg prostokąta umieszczenia w jednostkach użytkownika PDF (początek w lewym dolnym rogu strony, Y rośnie w górę). Width i Height ustawiają rozmiar renderowania na stronie; JPEG jest skalowany tak, aby się zmieścił, niezależnie od swoich wymiarów pikselowych

Metoda zwraca True po powodzeniu. Jeśli strumień nie zawiera poprawnych danych JPEG, zwraca False bez zgłaszania wyjątku, więc wywołujący powinien sprawdzać wartość zwracaną przy pracy z danymi niepewnego pochodzenia

Przykład

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('Nie udało się osadzić obrazu JPEG');
  finally
    Stream.Free;
  end;
end;

Zobacz też

AddImage, AddPicture