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 |