AddImageDirectFromString

Обработка изображений

Описание

Создает Image XObject напрямую из уже закодированных байтов сэмплов изображения, не определяя формат контейнера вроде PNG, TIFF или JPEG

Поведение по версиям PDF: фильтр изображений JBIG2Decode требует PDF 1.4, а JPXDecode, Crypt и сэмплы изображений с BitsPerComponent = 16 требуют PDF 1.5. Когда документ установлен ниже требуемой версии, а версия сохранения не закреплена, AddImageDirectFromString автоматически поднимает версию документа и записывает JBIG2Decode filter, JPXDecode filter, Crypt filter или 16-bit image samples в AutoBumpedFeatures. Если вызывающий закрепил более низкую версию сохранения, вентиль совместимости отвергает сохранение с LastErrorCode 602

Синтаксис

Delphi

Function TPDFlib.AddImageDirectFromString(Const Source: AnsiString; Width, Height, BitsPerComponent: Integer; Const ColorSpace, Filter, Decode: WideString; Interpolate: Integer): Integer;

Параметры

SourceНеобработанные или закодированные данные изображения для записи в поток изображения
WidthImage width in pixels.
HeightImage height in pixels.
BitsPerComponentЧисло бит на компонент сэмпла. Словари изображений PDF допускают 1, 2, 4 и 8 в ранних версиях; 16-битные сэмплы — это PDF 1.5
ColorSpaceИмя или текст массива цветового пространства PDF для словаря изображения, например /DeviceGray, /DeviceRGB или индексированный массив цветового пространства
FilterPDF stream filter name, such as FlateDecode, DCTDecode, or JPXDecode. Use an empty string for unfiltered data.
DecodeНеобязательный текст массива декодирования PDF. Если запись Decode не нужна, передайте пустую строку
InterpolateНенулевое значение записывает флаг /Interpolate true

Возвращаемые значения

0Изображение создать не удалось, либо текущий режим PDF/A запрещает запрошенный фильтр
Non-zeroНовый ImageID; созданное изображение выбирается для последующих операций с изображениями

Примечания

Режим PDF/A отвергает LZWDecode в любой части и JBIG2Decode / JPXDecode в PDF/A-1. Сопоставление байтов Source с заявленными ColorSpace, Filter, Decode, размерами и глубиной сэмплов — ответственность вызывающего

См. также

AddImageFromString, AddImageFromFile, AddImageFromStream, DrawImage