function RenderPageBandedToStream(Stream: TStream; Width,
Height: Integer; const StreamOptions: TPdfBandedImageStreamOptions;
Rotation: TRotation = ro0; Options: TRenderOptions = [];
Color: TColor = clWhite): TPdfBandedImageReport;
| Stream | TStream. Vom Aufrufer verwaltete beschreibbare Ausgabe, positioniert an der Stelle, an der das Bild beginnt |
| StreamOptions.Format | pbifPng für komprimiertes 8-Bit-RGB-PNG oder pbifTiff für unkomprimierte Little-Endian-Klassik-TIFF-Streifen |
| StreamOptions.BandHeight | Positive Band- und TIFF-Streifenhöhe; der Standardwert ist 256 Zeilen |
| StreamOptions.CompressionLevel | PNG-zlib-Stufe von 0 bis 9; der Standardwert ist 6 und TIFF ignoriert sie |
| StreamOptions.MaxOutputBytes | Harte Obergrenze für kodierte Bytes; null bedeutet unbegrenzt |
| Rotation | TRotation. Anzeigerotation, die auf die Seite angewendet wird |
| Options | TRenderOptions. Rendering-Flags |
| Color | TColor. Hintergrundfüllung, die vor dem Rendern auf jedes Band angewendet wird |
| Result | TPdfBandedImageReport. Band-Anzahl, kodierte Zeilen, maximale Band-Bytes, Ausgabe-Bytes, Abschluss-Flag und das gewählte Format |
Die Methode legt den Stream in den angeforderten eingebauten Encoder, TPdfPngBandedImageEncoder oder TPdfTiffBandedImageEncoder, hinein und treibt die gemeinsame bandweise Pipeline von RenderPageBandedToEncoder an. Der zurückgegebene Report trägt das gewählte Format statt pbifCustom
Der PNG-Encoder komprimiert jede Scanline direkt in sequenzielle IDAT-Blöcke, während der TIFF-Encoder pro Render-Band einen RGB-Streifen schreibt und sein Image File Directory hinter den Pixeldaten anhängt. Beide Encoder schreiben ausschließlich vorwärts und positionieren den Aufrufer-Stream nie neu
Der Spitzen-Speicherbedarf für Seitenpixel ist eine Width x BandHeight-BGRA-Bitmap statt Width x Height. Der Report legt den gemessenen PeakBandBytes-Wert offen, damit Exporteure die Speicherstrategie prüfen können, und OutputBytes spiegelt wider, was tatsächlich in den Stream geschrieben wurde
Verwenden Sie TPdfBandedImageStreamOptions.Default(pbifPng) oder Default(pbifTiff), bevor Sie einzelne Grenzen überschreiben; die Standardwerte sind BandHeight = 256, CompressionLevel = 6 und MaxOutputBytes = 0
Ein nil-Stream, eine nicht positive BandHeight oder ein negatives MaxOutputBytes löst EPdfError aus, und pbifCustom wird abgelehnt, weil ein eingebauter PNG- oder TIFF-Format-Modus erforderlich ist
Wenn das kodierte Bild MaxOutputBytes überschreiten würde, löst der Schreibvorgang EPdfError mit der Meldung Encoded image exceeds the output byte budget aus
Verwenden Sie RenderPageBandedToEncoder mit einem eigenen TPdfBandedImageEncoder-Ableitung für jedes andere Containerformat oder für externe Codecs
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;