THotPDF.ExtractLoadedImageToStream Method
Zapisuje jeden wczytany XObject obrazu bezpośrednio do miejsca docelowego należącego do wywołującego bez tworzenia pełnowymiarowej tablicy bajtów
Deklaracja
function ExtractLoadedImageToStream(ImageIndex: Integer;
Destination: TStream; Mode: THPDFLoadedImageStreamMode= lismEncoded): boolean;
Jednostka
HPDFDoc
Parametry
| Nazwa | Przeznaczenie |
|---|---|
ImageIndex | Indeks liczony od zera z GetLoadedImageCount |
Destination | Strumień należący do wywołującego, odbierający bajty na swojej bieżącej pozycji |
Mode | lismEncoded kopiuje natywny ładunek obrazu, podczas gdy lismDecoded wykonuje ogólny łańcuch filtrów strumienia PDF |
Wartość zwracana
Zwraca True, gdy wybrany obraz i tryb ekstrakcji zakończą się powodzeniem
Uwagi dotyczące użycia
lismEncodeddziała dla natywnych ładunków DCT, JPX, JBIG2, CCITT, Flate, LZW i niefiltrowanych oraz przywraca pozycję źródłalismDecodedobsługuje rodziny ogólne Flate, LZW, ASCII85, ASCIIHex i RunLength przez ograniczony potok dekodowania- Filtry terminalne natywne dla obrazu, takie jak DCT lub JPX, pozostają zakodowane i powinny używać
lismEncoded - Zdekodowana ekstrakcja zużywa budżety dekodowania na łańcuch i dla całego dokumentu
- Nieudany zdekodowany zapis może pozostawić częściowe bajty w miejscu docelowym, więc użyj strumienia tymczasowego, gdy wymagane jest atomowe wyjście
Przykład
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;