TPicture.LoadFromFile, więc obsługiwany jest dowolny format obrazu zarejestrowany w systemie graficznym VCL lub LCL. Obejmuje to BMP, PNG (przez Vcl.Imaging.PngImage lub odpowiednik LCL), JPEG i inne. Współrzędne są w przestrzeni użytkownika PDF (początek w lewym dolnym rogu strony); Width i Height to rozmiar umieszczenia w jednostkach użytkownika, a nie rozmiar obrazu źródłowego w pikselachprocedure AddImage(const FileName: string; X, Y, Width, Height: Double);
| FileName | string. Pełna ścieżka do pliku obrazu. Akceptowany jest każdy format zarejestrowany w systemie graficznym VCL/LCL (BMP, PNG, JPG itd) |
procedure AddImage(Bitmap: TBitmap; X, Y, Width, Height: Double);
| Bitmap | TBitmap. Wstępnie wczytana bitmapa z PixelFormat = pf32bit. Nie może być nil; w przeciwnym razie zgłaszany jest EPdfError |
AddImage umieszcza obraz na bieżącej stronie PDF w podanej pozycji i rozmiarze. Dostępne są dwa przeciążenia: jedno wczytuje obraz bezpośrednio ze ścieżki pliku, drugie przyjmuje gotowy obiekt TBitmap
Przeciążenie oparte na pliku używa wewnętrznie TPicture.LoadFromFile, więc obsługiwany jest dowolny format obrazu zarejestrowany w systemie graficznym VCL lub LCL, w tym BMP, PNG (przez Vcl.Imaging.PngImage lub odpowiednik LCL), JPEG i inne. Przed wywołaniem tej metody upewnij się, że odpowiednie jednostki znajdują się w klauzuli uses projektu
Przeciążenie z mapą bitową przyjmuje TBitmap z PixelFormat = pf32bit. Jest to przydatne, gdy mapa bitowa jest już w pamięci (na przykład z etapu renderowania poza ekranem) i pozwala uniknąć przejścia przez dysk lub TPicture. Przekazanie mapy bitowej nil powoduje wyjątek EPdfError
Parametry X i Y określają lewy dolny róg prostokąta umieszczenia obrazu w jednostkach użytkownika PDF (punkt początkowy w lewym dolnym rogu strony, Y rośnie w górę). Width i Height sterują rozmiarem renderowania na stronie; obraz źródłowy jest skalowany do tych wymiarów niezależnie od rozdzielczości pikselowej
// Umieść plik PNG w punkcie (72, 600), renderowany jako 200 x 150 pt na stronie
Pdf1.NewPage(595, 842);
Pdf1.AddImage('C:\Images\logo.png', 72, 600, 200, 150);
// Dodaj gotową mapę bitową 32-bitową
var
Bmp: TBitmap;
begin
Bmp := TBitmap.Create;
try
Bmp.PixelFormat := pf32bit;
Bmp.LoadFromFile('C:\Images\photo.bmp');
Pdf1.AddImage(Bmp, 72, 400, 300, 200);
finally
Bmp.Free;
end;
end;