function RenderPageBandedToStream(Stream: TStream; Width,
Height: Integer; const StreamOptions: TPdfBandedImageStreamOptions;
Rotation: TRotation = ro0; Options: TRenderOptions = [];
Color: TColor = clWhite): TPdfBandedImageReport;
| Stream | TStream. خروجی نوشتنی متعلق به فراخوان که در جایی که تصویر آغاز میشود قرار گرفته |
| StreamOptions.Format | pbifPng برای PNG فشردهٔ ۸-بیتی RGB یا pbifTiff برای نوارهای TIFF کلاسیک رمزگذارینشدهٔ کمچندگانگی |
| StreamOptions.BandHeight | ارتفاع مثبت باند و نوار TIFF؛ پیشفرض ۲۵۶ سطر است |
| StreamOptions.CompressionLevel | سطح zlib برای PNG از ۰ تا ۹؛ پیشفرض ۶ است و TIFF نادیدهاش میگیرد |
| StreamOptions.MaxOutputBytes | سقف سخت بایتی خروجی رمزگذاریشده؛ صفر یعنی بدون کران |
| Rotation | TRotation. چرخش نمایشی اعمالشده روی صفحه |
| Options | TRenderOptions. پرچمهای رندر |
| Color | TColor. پرکنندهٔ پسزمینهای که پیش از رندر روی هر باند اعمال میشود |
| Result | TPdfBandedImageReport. شمار باندها، سطرهای رمزگذاریشده، بیشینهٔ بایت باند، بایتهای خروجی، پرچم تکمیل و قالب منتخب |
این متد استریم را در رمزگذار درونساخت درخواستی میپیچد — TPdfPngBandedImageEncoder یا TPdfTiffBandedImageEncoder — و خط-لولهٔ باندی مشترک RenderPageBandedToEncoder را به حرکت درمیآورد. گزارش بازگرداندهشده بهجای pbifCustom حامل Format منتخب است
رمزگذار PNG هر خط اسکن را مستقیماً به چانکهای متوالی IDAT فشرده میکند، در حالی که رمزگذار TIFF بهازای هر باند رندر یک نوار RGB مینویسد و فهرست فایل تصویرش را بعد از دادهٔ پیکسلی ضمیمه میکند. هر دو رمزگذار فقط رو به جلو مینویسند و هرگز استریم فراخوان را seek نمیکنند
بیشینهٔ ذخیرهٔ پیکسلی صفحه یک بیتمپ BGRA با ابعاد Width ضربدر BandHeight است، نه Width ضربدر Height. گزارش PeakBandBytes اندازهگیریشده را افشا میکند تا ابزارهای برونبری سیاست حافظه را بازرسی کنند و OutputBytes نشان میدهد واقعاً چه چیزی در استریم نوشته شده
پیش از بازنویسی تکتک کرانها از TPdfBandedImageStreamOptions.Default(pbifPng) یا Default(pbifTiff) استفاده کنید؛ پیشفرضها BandHeight = 256، CompressionLevel = 6 و MaxOutputBytes = 0 هستند
استریم nil، BandHeight نامثبت یا MaxOutputBytes منفی EPdfError برپا میکنند و pbifCustom رد میشود چون به یک قالب درونساخت PNG یا TIFF نیاز است
وقتی تصویر رمزگذاریشده از MaxOutputBytes عبور کند، نوشتن EPdfError با پیام Encoded image exceeds the output byte budget برمیانگیزد
برای هر قالب ظرف دیگری یا کُدکهای بیرونی از RenderPageBandedToEncoder با یک زیرکلاس سفارشی TPdfBandedImageEncoder استفاده کنید
StreamOptions := TPdfBandedImageStreamOptions.Default(pbifTiff);
StreamOptions.BandHeight := 256;
StreamOptions.MaxOutputBytes := Int64(512) * 1024 * 1024;
Report := Pdf.RenderPageBandedToStream(OutputStream, 4960, 7016,
StreamOptions);
if not Report.Completed then
RaiseBandedExportIncomplete;