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 | Необработанные или закодированные данные изображения для записи в поток изображения |
|---|---|
| Width | Image width in pixels. |
| Height | Image height in pixels. |
| BitsPerComponent | Число бит на компонент сэмпла. Словари изображений PDF допускают 1, 2, 4 и 8 в ранних версиях; 16-битные сэмплы — это PDF 1.5 |
| ColorSpace | Имя или текст массива цветового пространства PDF для словаря изображения, например /DeviceGray, /DeviceRGB или индексированный массив цветового пространства |
| Filter | PDF 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