TBitmap을 반환합니다. 호출할 때마다 bitmap이 새로 할당되며, 호출자가 이를 소유하고 Free를 호출할 책임이 있습니다property Bitmap[Index: Integer]: TBitmap; // read only
| Index | 현재 page의 0 기반 image index입니다. 범위는 0 .. BitmapCount - 1입니다 |
Bitmap는 현재 page의 n번째 raster image pixel 데이터를 담은 TBitmap을 반환합니다. PDFium은 기반 stream(JPEG, JPEG2000, CCITT, JBIG2, FlateDecode pixel data)을 디코딩하고, PDFiumPas는 source가 soft mask를 제공하는 경우 alpha가 보존된 32-bit ARGB surface로 그 결과를 VCL TBitmap으로 변환합니다
호출할 때마다 새 bitmap이 할당되며 캐시하지 않습니다. 그래서 worker thread에서 호출해도 안전하지만, 호출자는 반환된 object를 항상 해제해야 하며 보통 try .. finally 블록 안에서 처리합니다
이미지의 page 내 transformation matrix와 bounding rectangle도 필요하면 대신 Image[Index]를 사용하세요. 이쪽은 같은 TBitmap에 위치 메타데이터를 묶은 record를 반환합니다. 모양을 구분하지 않는 자매 항목 ObjectBitmap[ObjectIndex]는 전체 page-object 배열(text, path, image 혼합)을 인덱싱하며, 대상 object가 이미지일 때 같은 bitmap을 반환합니다
nil을 반환합니다
// 현재 page의 모든 이미지를 번호가 붙은 BMP 파일로 내보냅니다
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;