property Bitmap[Index: Integer]: TBitmap; // read only
| Index | Index d’image de base 0 sur la page courante, dans la plage 0 à BitmapCount - 1 |
Bitmap renvoie un TBitmap contenant les données pixel de la n-ième image raster de la page courante. PDFium décode le flux sous-jacent (données pixel JPEG, JPEG2000, CCITT, JBIG2 ou FlateDecode) et PDFium Delphi Component convertit le résultat en un TBitmap VCL à la résolution de stockage de l’image, avec l’alpha préservé sous forme de surface ARGB 32 bits quand la source fournit un masque doux
Chaque appel alloue un bitmap frais ; la propriété ne met pas en cache. Cela rend la propriété sûre à appeler depuis des threads de travail mais signifie que les appelants doivent toujours libérer l’objet renvoyé, généralement dans un bloc try .. finally
Lorsque vous avez aussi besoin de la matrice de transformation sur page et du rectangle englobant de l’image, utilisez Image[Index] à la place — il renvoie un enregistrement qui regroupe le même TBitmap avec les métadonnées de position. Son frère indépendant de la forme d’objet, ObjectBitmap[ObjectIndex], indexe dans le tableau complet des objets de page (texte, chemins, images mélangés) et renvoie le même bitmap si l’objet ciblé est une image
nil lorsque Index est hors plage ou lorsque le document n’est pas actif
// 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;