function RenderPageBandedToStream(Stream: TStream; Width,
Height: Integer; const StreamOptions: TPdfBandedImageStreamOptions;
Rotation: TRotation = ro0; Options: TRenderOptions = [];
Color: TColor = clWhite): TPdfBandedImageReport;
| Stream | TStream. Output scrivibile di proprietà del chiamante posizionato dove inizia l'immagine |
| StreamOptions.Format | pbifPng per PNG RGB a 8 bit compresso oppure pbifTiff per strip TIFF classici little-endian non compressi |
| StreamOptions.BandHeight | Altezza positiva di banda e strip TIFF; il valore predefinito è 256 righe |
| StreamOptions.CompressionLevel | Livello zlib PNG da 0 a 9; il valore predefinito è 6 e TIFF lo ignora |
| StreamOptions.MaxOutputBytes | Soffitto rigido di byte codificati; zero significa illimitato |
| Rotation | TRotation. Rotazione di visualizzazione applicata alla pagina |
| Options | TRenderOptions. Flag di rendering |
| Color | TColor. Riempimento di sfondo applicato a ogni banda prima del rendering |
| Result | TPdfBandedImageReport. Conteggi delle bande, righe codificate, byte di banda di picco, byte di output, flag di completamento e formato selezionato |
Il metodo avvolge lo stream nell'encoder integrato richiesto, TPdfPngBandedImageEncoder o TPdfTiffBandedImageEncoder, e guida la pipeline condivisa a bande di RenderPageBandedToEncoder. Il report restituito contiene il Format selezionato invece di pbifCustom
L'encoder PNG comprime ogni scanline direttamente in chunk IDAT sequenziali, mentre l'encoder TIFF scrive uno strip RGB per banda di render e aggiunge la sua image file directory dopo i dati dei pixel. Entrambi gli encoder scrivono solo in avanti e non effettuano mai seek sullo stream del chiamante
L'archiviazione di pixel di picco della pagina è una bitmap BGRA Width x BandHeight anziché Width x Height. Il report espone i PeakBandBytes misurati così gli exporter possono verificare la politica di memoria, e OutputBytes riflette ciò che è stato effettivamente scritto nello stream
Usare TPdfBandedImageStreamOptions.Default(pbifPng) o Default(pbifTiff) prima di ignorare i singoli limiti; i valori predefiniti sono BandHeight = 256, CompressionLevel = 6 e MaxOutputBytes = 0
Uno stream nil, un BandHeight non positivo o un MaxOutputBytes negativo generano EPdfError, e pbifCustom viene rifiutato perché è richiesto un formato integrato PNG o TIFF
Quando l'immagine codificata supererebbe MaxOutputBytes, la scrittura genera EPdfError con il messaggio Encoded image exceeds the output byte budget
Usare RenderPageBandedToEncoder con un discendente personalizzato di TPdfBandedImageEncoder per qualsiasi altro formato di contenitore o per codec esterni
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;