PDFium Delphi Component Docs

AddImage Метод

Компонент: TPdf  ·  Модуль: PDFium
Вставляет изображение из файла на текущую PDF-страницу. Внутренне использует TPicture.LoadFromFile, поэтому поддерживается любой формат изображения, зарегистрированный в графической системе VCL или LCL. Это включает BMP, PNG (через Vcl.Imaging.PngImage или эквивалент LCL), JPEG и другие. Координаты заданы в пользовательском пространстве PDF, где начало находится в левом нижнем углу страницы; Width и Height задают размер размещения в пользовательских единицах, а не размер исходного изображения в пикселях

Syntax

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

FileNamestring. Полный путь к файлу изображения. Принимается любой формат, зарегистрированный в графической системе VCL/LCL (BMP, PNG, JPG и т.д.)

 

procedure AddImage(Bitmap: TBitmap; X, Y, Width, Height: Double);

BitmapTBitmap. Заранее загруженный растр с PixelFormat = pf32bit. Не должен быть nil; иначе возникает EPdfError

Description

AddImage помещает изображение на текущую страницу PDF в заданной позиции и размере. Доступны две перегрузки: одна загружает изображение напрямую из пути к файлу, другая принимает заранее созданный объект TBitmap

Перегрузка на основе файла внутри использует TPicture.LoadFromFile, поэтому поддерживается любой формат изображения, зарегистрированный в графической системе VCL или LCL — включая BMP, PNG (через Vcl.Imaging.PngImage или эквивалент LCL), JPEG и другие. Просто убедитесь, что соответствующие модули включены в секцию uses проекта перед вызовом этого метода

Перегрузка с растром принимает TBitmap с PixelFormat = pf32bit. Это полезно, когда растр уже находится в памяти (например, после внеэкранной отрисовки), и позволяет избежать промежуточной записи на диск или через TPicture. Передача растра nil вызывает исключение EPdfError

Параметры X и Y задают левый нижний угол прямоугольника размещения изображения в пользовательских единицах PDF (начало координат в левом нижнем углу страницы, Y растёт вверх). Width и Height управляют размером отрисовки на странице; исходное изображение масштабируется под эти размеры независимо от его разрешения в пикселях

Example

// Place a PNG file at (72, 600), rendered 200 x 150 pt on the page
Pdf1.NewPage(595, 842);
Pdf1.AddImage('C:\Images\logo.png', 72, 600, 200, 150);

// Add a pre-built 32-bit bitmap
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;

See Also

AddPicture, AddJpegImage, AddText