THotPDF.ExtractLoadedImageToStream-metoden
Skriver én indlæst billede-XObject direkte til en kalder-ejet destination uden at oprette et fuld-størrelse byte-array
Deklaration
function ExtractLoadedImageToStream(ImageIndex: Integer;
Destination: TStream; Mode: THPDFLoadedImageStreamMode= lismEncoded): boolean;
Enhed
HPDFDoc
Parametre
| Navn | Formål |
|---|---|
ImageIndex | Nul-baseret indeks fra GetLoadedImageCount |
Destination | Kalder-ejet strøm, der modtager bytes ved sin aktuelle position |
Mode | lismEncoded kopierer den native billede-payload, mens lismDecoded udfører den generiske PDF-strøm-filterkæde |
Returværdi
Returnerer True, når det valgte billede og den valgte udtrækningstilstand fuldføres med succes
Brugsnoter
lismEncodedvirker for native DCT-, JPX-, JBIG2-, CCITT-, Flate-, LZW- og ufiltrerede payloads og gendanner kildepositionenlismDecodedunderstøtter de generiske Flate-, LZW-, ASCII85-, ASCIIHex- og RunLength-familier via den afgrænsede afkode-pipeline- Billede-native terminale filtre som DCT eller JPX forbliver kodet og bør bruge
lismEncoded - Afkodet udtrækning forbruger pr.-kæde- og dokumentbrede afkode-budgetter
- En fejlet afkodet skrivning kan efterlade partielle bytes i destinationen, så brug en midlertidig strøm, når atomisk output kræves
Eksempel
Output := TFileStream.Create('image.bin', fmCreate);
try
if not PDF.ExtractLoadedImageToStream(0, Output, lismEncoded) then
raise Exception.Create('Image extraction failed');
finally
Output.Free;
end;