function RenderPageBandedToStream(Stream: TStream; Width,
Height: Integer; const StreamOptions: TPdfBandedImageStreamOptions;
Rotation: TRotation = ro0; Options: TRenderOptions = [];
Color: TColor = clWhite): TPdfBandedImageReport;
| Stream | TStream. Należące do wywołującego zapisywalne wyjście ustawione tam, gdzie zaczyna się obraz |
| StreamOptions.Format | pbifPng dla skompresowanego 8-bitowego RGB PNG albo pbifTiff dla nieskompresowanych klasycznych pasków TIFF little-endian |
| StreamOptions.BandHeight | Dodatnia wysokość pasma i paska TIFF; domyślnie 256 wierszy |
| StreamOptions.CompressionLevel | Poziom zlib PNG od 0 do 9; domyślnie 6, a TIFF go ignoruje |
| StreamOptions.MaxOutputBytes | Twardy limit bajtów zakodowanych; zero oznacza brak limitu |
| Rotation | TRotation. Rotacja wyświetlania nakładana na stronę |
| Options | TRenderOptions. Flagi renderowania |
| Color | TColor. Wypełnienie tła nakładane na każde pasmo przed renderowaniem |
| Result | TPdfBandedImageReport. Liczby pasm, zakodowane wiersze, szczytowe bajty pasma, bajty wyjścia, flaga ukończenia i wybrany format |
Metoda owija strumień w żądany wbudowany enkoder, TPdfPngBandedImageEncoder albo TPdfTiffBandedImageEncoder, i napędza współdzielony potok pasmowy RenderPageBandedToEncoder. Zwracany raport niesie wybrany Format zamiast pbifCustom
Enkoder PNG kompresuje każdą linię skanowania bezpośrednio do kolejnych chunków IDAT, a enkoder TIFF zapisuje jeden pasek RGB na pasmo renderowania i dopisuje swój katalog pliku obrazu po danych pikselowych. Oba enkodery zapisują tylko do przodu i nigdy nie wykonują seek na strumieniu wywołującego
Szczytowy magazyn pikseli strony to jedna bitmapa BGRA Width x BandHeight, a nie Width x Height. Raport udostępnia zmierzone PeakBandBytes, więc eksporterzy mogą audytować politykę pamięci, a OutputBytes odzwierciedla to, co faktycznie zapisano do strumienia
Użyj TPdfBandedImageStreamOptions.Default(pbifPng) lub Default(pbifTiff) przed nadpisaniem poszczególnych limitów; wartościami domyślnymi są BandHeight = 256, CompressionLevel = 6 i MaxOutputBytes = 0
Strumień nil, niedodatnie BandHeight albo ujemne MaxOutputBytes zgłasza EPdfError, a pbifCustom jest odrzucany, ponieważ wymagany jest wbudowany format PNG lub TIFF
Gdy zakodowany obraz przekroczyłby MaxOutputBytes, zapis zgłasza EPdfError z komunikatem Encoded image exceeds the output byte budget
Dla każdego innego formatu kontenera lub zewnętrznych kodeków użyj RenderPageBandedToEncoder z własnym potomkiem 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;