PDFium Component Docs

AddImage Metoda

Ten wpis API zachowuje identyfikatory, sygnatury, bloki kodu i terminy PDF w oryginalnej postaci.
Komponent: TPdf  ·  Moduł: PDFium
Wstawia obraz z pliku na bieżącą stronę PDF. Wewnętrznie używa 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 pikselach

Składnia

procedure AddImage(const FileName: string; X, Y, Width, Height: Double);

FileNamestring. 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);

BitmapTBitmap. Wstępnie wczytana bitmapa z PixelFormat = pf32bit. Nie może być nil; w przeciwnym razie zgłaszany jest EPdfError

Opis

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

Przykład

// 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;

Zobacz też

AddPicture, AddJpegImage, AddText