function AddJpegImage(JpegImage: TStream; X, Y, Width, Height: Double): Boolean;
| JpegImage | TStream. Strumień zawierający surowe dane skompresowane JPEG. Pozycja strumienia powinna znajdować się na początku danych JPEG w chwili wywołania tej metody |
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 powiedzieAddJpegImage 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 TStream — TFileStream, 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
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;