property Bitmap[Index: Integer]: TBitmap; // read only
| Index | Индекс изображения с нуля на текущей странице в диапазоне от 0 до BitmapCount - 1 |
Bitmap возвращает TBitmap, содержащий пиксельные данные
n-го растрового изображения на текущей странице. PDFium декодирует базовый поток
(JPEG, JPEG2000, CCITT, JBIG2 или пиксельные данные FlateDecode), а PDFiumPas
преобразует результат в VCL TBitmap с сохранением исходного разрешения
изображения, причём альфа-канал сохраняется как 32-битная поверхность ARGB, если
источник предоставляет soft mask
Каждый вызов выделяет новый bitmap; свойство не кэширует результат. Это делает его
безопасным для вызова из рабочих потоков, но означает, что вызывающий код всегда должен
освобождать возвращённый объект, как правило внутри блока try .. finally
Если дополнительно нужны матрица преобразования изображения на странице и
ограничивающий прямоугольник, используйте вместо этого Image[Index]
— он возвращает запись, которая объединяет тот же TBitmap с позиционной
метаинформацией. Нейтральный к форме родственник ObjectBitmap[ObjectIndex]
индексирует полный массив объектов страницы, включая текст, пути и изображения, и
возвращает тот же bitmap, если целевой объект действительно является изображением
nil, когда Index вне диапазона или когда документ не активен
// Export every image on the current page as numbered BMP files
var
I: Integer;
Bmp: TBitmap;
begin
for I := 0 to Pdf.BitmapCount - 1 do
begin
Bmp := Pdf.Bitmap[I];
try
Bmp.SaveToFile(Format('page_%d_img_%d.bmp', [Pdf.PageNumber, I]));
finally
Bmp.Free;
end;
end;
end;