procedure AddPicture(Picture: TPicture; X, Y: Double);
| Picture | TPicture. Исходный объект картинки для встраивания. Графика внутри Picture конвертируется и размещается на странице в натуральном размере (из Picture.Width / Picture.Height в пикселях, пересчитанных в пользовательские единицы PDF) |
procedure AddPicture(Picture: TPicture; X, Y, Width, Height: Double);
| Picture | TPicture. Исходный объект картинки для встраивания. Графика масштабируется в заданный прямоугольник Width × Height на странице |
AddPicture встраивает графику из объекта TPicture на текущую страницу PDF. Перегрузок две: форма с тремя координатами ставит картинку в натуральном размере, а форма с пятью координатами масштабирует её в явно заданный прямоугольник Width × Height
TPicture — стандартный контейнер VCL/LCL для любого зарегистрированного графического формата. Он не привязан к формату, поэтому можно передавать битмапы, PNG, JPEG и любую другую графику, загруженную в экземпляр TPicture. Чтобы положить обычный TBitmap напрямую, лучше подходит AddImage. Для сырого потока JPEG используйте AddJpegImage
Параметры X и Y задают левый нижний угол изображения в пользовательских единицах PDF (начало координат в левом нижнем углу страницы, ось Y направлена вверх). Если Width и Height опущены, размер размещения берётся из пиксельных размеров картинки в расчёте 72 DPI
var
Pic: TPicture;
begin
Pic := TPicture.Create;
try
Pic.LoadFromFile('C:\Images\chart.png');
// Place at natural size, lower-left at (72, 500)
Pdf1.AddPicture(Pic, 72, 500);
// Or scale to an explicit 300 x 200 pt rectangle
Pdf1.AddPicture(Pic, 72, 200, 300, 200);
finally
Pic.Free;
end;
end;