procedure AddPicture(Picture: TPicture; X, Y: Double);
| Picture | TPicture. Исходный объект picture для внедрения. Графика внутри Picture преобразуется и размещается на странице в натуральном размере, вычисленном по Picture.Width / Picture.Height в пикселях и пересчитанном в пользовательские единицы PDF |
procedure AddPicture(Picture: TPicture; X, Y, Width, Height: Double);
| Picture | TPicture. Исходный объект picture для внедрения. Графика масштабируется так, чтобы поместиться в указанный на странице прямоугольник Width × Height |
AddPicture внедряет графику, хранящуюся в объекте TPicture, на текущую страницу PDF. Доступны две перегрузки: вариант с тремя координатами размещает изображение в его натуральном размере, а вариант с пятью координатами масштабирует его в явный прямоугольник Width × Height
TPicture является стандартным контейнером VCL/LCL для любого зарегистрированного графического формата. Поскольку он не привязан к одному формату, можно передавать bitmap, 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');
// Разместить в натуральном размере, левый нижний угол в точке (72, 500)
Pdf1.AddPicture(Pic, 72, 500);
// Или масштабировать в явный прямоугольник 300 x 200 pt
Pdf1.AddPicture(Pic, 72, 200, 300, 200);
finally
Pic.Free;
end;
end;