property BitmapCount: Integer; // read only
تعيد BitmapCount عدد كائنات صفحات الصور في الصفحة النشطة حاليًا
(البند 8.9 من مواصفة PDF 1.7). وتقترن بالمفهرس Bitmap[Index]،
الذي يفك ترميز تيار الصورة الأساسي إلى TBitmap من Delphi
مصيَّر بالكامل (بعمق 32 بت RGBA، جاهز لـ Canvas.Draw أو نقل
الحافظة أو الحفظ بصيغة PNG/BMP)
تكون القيمة 0 عندما يكون Active بالقيمة False، أو عندما يكون
PageNumber غير صالح، أو عندما لا تحتوي الصفحة على كائنات صور. والعدد
مطابق لـ ImageCount؛ وتختلف الخاصيتان فقط في نوع إرجاع مفهرسيهما — يعيد
Image[Index] سجل TPdfImage يحمل Data فيه مخزن
البكسل مفكوك الترميز و RawData فيه تيار الصورة ما يزال مرمَّزًا، بينما
يلف Bitmap[Index] ذلك المخزن في TBitmap من VCL
مُدار يملكه المستدعي
الحلقة النموذجية هي for I := 0 to Pdf.BitmapCount - 1 do يتبعها
Pdf.Bitmap[I]. يخصص كل وصول TBitmap جديدًا وينسخ
البكسلات — فلا تستدعه في حلقات تصيير متقاربة؛ وخزِّن الصورة النقطية مؤقتًا عند إعادة استخدامها. حرِّر كل صورة نقطية معادة عند الانتهاء لتحرير موارد GDI فورًا
TBitmap مفكوك الترميزImageCount / Image[Index] تتجنب عبء تخصيص
الصورة النقطية GDI
var I: Integer;
var Bmp: TBitmap;
for I := 0 to Pdf1.BitmapCount - 1 do
begin
Bmp := Pdf1.Bitmap[I];
try
Bmp.SaveToFile(Format('image_%d.bmp', [I]));
finally
Bmp.Free;
end;
end;