procedure AddImage(const FileName: string; X, Y, Width, Height: Double);
| FileName | string. Полный путь к файлу изображения. Принимается любой формат, зарегистрированный в графической системе VCL/LCL (BMP, PNG, JPG и т.д.) |
procedure AddImage(Bitmap: TBitmap; X, Y, Width, Height: Double);
| Bitmap | TBitmap. Заранее загруженный растр с PixelFormat = pf32bit. Не должен быть nil; иначе возникает EPdfError |
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 управляют размером отрисовки на странице; исходное изображение масштабируется под эти размеры независимо от его разрешения в пикселях
// 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;