AddImageFromString

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

Описание

Добавляет изображение из памяти в выбранный документ

После добавления изображения в документ его можно рисовать на любой странице сколько угодно раз без дальнейшего роста размера PDF-файла

Поддерживаемые форматы изображений: BMP, TIFF, JPEG, PNG, GIF, WMF, EMF и WebP, а также AVIF, HEIF, HEIC и JPEG XL при наличии современного декодера изображений

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

Для изображений BMP и TIFF перед этим вызовом можно сжать данные функцией CompressImages. Остальные типы изображений сжимаются автоматически

Синтаксис

Delphi

Function TPDFlib.AddImageFromString(Const Source: AnsiString; Options: Integer): Integer;

DLL

int DLAddImageFromString(int InstanceID, const char * Source, int Options);

Параметры

SourceСтрока с данными изображения. В ActiveX-версии библиотеки строка должна содержать 16-битные символы, из которых используются только младшие 8 бит
OptionsДля многостраничных TIFF указывает номер загружаемой страницы. Для PNG: 0 = загрузить изображение как обычно 1 = загрузить альфа-канал как полутоновое изображение 2 = загрузить изображение и альфа-канал (альфа ограничена 8 битами) 3 = загрузить изображение (8 бит на канал) 4 = загрузить альфа-канал (8 бит на канал) 5 = загрузить изображение с альфа-каналом (оба ограничены 8 битами на канал) 6 = загрузить изображение и альфа-канал 7 = загрузить изображение и ICC-профиль 8 = загрузить изображение, альфа-канал и ICC-профиль с сохранением повышенной разрядности Для остальных типов изображений параметр должен быть 0. Значение Options = -1 заставляет загружать TIFF, EMF и WMF через графическую библиотеку GDI+. Многостраничные TIFF также можно загружать через GDI+, задав Options = -PageNumber (например, -3 для страницы 3)

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

0Данные изображения недопустимы или формат не поддерживается Изображение добавлено успешно; возвращённый ImageID передаётся функциям вроде SelectImage и DrawImage
1