function RenderPageBanded(Width, Height, BandHeight: Integer; BandCallback: TPdfBandCallback; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): Integer;
| Width, Height | Integer. Viso puslapio paveikslo dydis pikseliais, tarsi jis būtų atvaizduotas vienu gabalu |
| BandHeight | Integer. Kiekvienos juostos aukštis pikseliais. Paskutinė juosta trumpesnė, kai Height nėra jos kartotinis |
| BandCallback | TPdfBandCallback. Metodas, kviečiamas po kartą kiekvienai juostai kaip function(BandIndex, BandTopY: Integer; Bitmap: TBitmap): Boolean of object. Grąžinkite False, norėdami atvaizdavimą nutraukti anksčiau |
| Rotation | TRotation. Puslapiui taikomas rodymo sukimas: ro0, ro90, ro180 arba ro270 |
| Options | TRenderOptions. Atvaizdavimo požymiai |
| Color | TColor. Fono užpildas, taikomas kiekvienai juostai prieš atvaizdavimą |
| Result | Integer. Faktiškai atvaizduotų juostų skaičius arba 0 nesėkmės atveju |
function RenderPageBandedToEncoder(Width, Height, BandHeight: Integer; Encoder: TPdfBandedImageEncoder; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): TPdfBandedImageReport;
Kreipėjas valdo Encoder ir realizuoja BeginImage, WriteBand ir EndImage. Juostos ateina iš viršaus į apačią su nuo nulio skaičiuojamais indeksais ir viso puslapio BandTopY koordinatėmis
WriteBand grąžina True, norint tęsti, arba False, norint tvarkingai sustoti. Taškinė grafika galioja tik kreipinio metu. GetBytesWritten gali grąžinti kodekui būdingą išvesties telemetriją
Rezultatas praneša atvaizduotas ir priimtas juostas BandsRendered ir BandsEncoded, užkoduotas eilutes RowsEncoded, didžiausią BGRA juostos baitų reikšmę PeakBandBytes, išvesties baitus ir ar kiekviena pageidauta eilutė užbaigta
function RenderPageBandedToStream(Stream: TStream; Width, Height: Integer; const StreamOptions: TPdfBandedImageStreamOptions; Rotation: TRotation = ro0; Options: TRenderOptions = []; Color: TColor = clWhite): TPdfBandedImageReport;
| Stream | TStream. Kreipėjui priklausantis rašomas išvesties srautas, pastatytas ten, kur prasideda paveikslas |
| StreamOptions.Format | pbifPng suspaustam 8 bitų RGB PNG arba pbifTiff nesuspaustoms mažiau baitų pirmumo klasikinėms TIFF juostelėms |
| StreamOptions.BandHeight | Teigiamas juostos ir TIFF juostelės aukštis; numatytasis — 256 eilutės |
| StreamOptions.CompressionLevel | PNG zlib lygis nuo 0 iki 9; numatytasis — 6, o TIFF jo nepaiso |
| StreamOptions.MaxOutputBytes | Griežta užkoduotų baitų riba; nulis reiškia neribotą |
Abu įtaisytieji koduotuvai rašo tik pirmyn ir nekeičia kreipėjo srauto pozicijos. PNG kiekvieną skenavimo eilutę spaudžia tiesiogiai į nuoseklius IDAT gabalus, o TIFF rašo po vieną RGB juostelę kiekvienai atvaizdavimo juostai ir prie pikselių prideda savo katalogą
Didžiausia puslapio pikselių atmintis yra viena Width x BandHeight BGRA taškinė grafika, o ne Width x Height. Ataskaita atskleidžia išmatuotą didžiausią juostos baitų reikšmę, todėl eksportuotojai gali taikyti ir patikrinti atminties politiką
Prie keisdami atskiras ribas, naudokite TPdfBandedImageStreamOptions.Default(pbifPng) arba Default(pbifTiff)
Plakatai, žemėlapiai ir inžineriniai brėžiniai gali viršyti atmintį, kurios spausdinimo raiškoje reikėtų viso puslapio taškinei grafikai. Juostinimas didžiausią atmintį laiko vienoje juostoje: kiekviena juosta atvaizduojama į naują Width x BandHeight taškinę grafiką ir perduodama atgaliniam iškvietimui
Atgalinis iškvietimas gauna nuo nulio skaičiuojamą juostos indeksą ir BandTopY — juostos viršaus y poslinkį viso puslapio pikseliais, kurio rašytojui reikia, kad juostelė patektų į tinkamą išvesties failo vietą. Kiekviena taškinė grafika išlaiko pilną puslapio įrenginio transformaciją ir yra apkarpyta pagal tą koordinačių sritį. Taškinė grafika priklauso atvaizdavimo ciklui ir atlaisvinama grįžus atgaliniam iškvietimui, todėl iškvietimas, kuriam reikia pikselių išsaugoti, privalo juos nukopijuoti
False grąžinimas iš atgalinio iškvietimo sustabdo ciklą; tada grąžinamoji reikšmė suskaičiuoja iki nutraukimo atvaizduotas juostas
function TForm1.WriteBand(BandIndex, BandTopY: Integer;
Bitmap: TBitmap): Boolean;
begin
Bitmap.SaveToFile(Format('band%d.bmp', [BandIndex]));
Result := True;
end;
Pdf.RenderPageBanded(4960, 7016, 512, WriteBand);
StreamOptions := TPdfBandedImageStreamOptions.Default(pbifPng);
StreamOptions.BandHeight := 256;
StreamOptions.MaxOutputBytes := 256 * 1024 * 1024;
Report := Pdf.RenderPageBandedToStream(OutputStream, 4960, 7016,
StreamOptions);