Возвращает массив картинок с кадрами. Если картинка содержит 1 кадр, возвращает массив с 1 элементом.
Синтаксис
ПолучитьКартинки()Полное описание, параметры и ограничения
ОбрабатываемаяКартинка.ПолучитьКартинки (ProcessingPicture.GetPictures)
ОбрабатываемаяКартинка (ProcessingPicture)
ПолучитьКартинки (GetPictures)
Доступен, начиная с версии 8.3.15.
Синтаксис:
ПолучитьКартинки()
Описание:
Возвращает массив картинок с кадрами. Если картинка содержит 1 кадр, возвращает массив с 1 элементом.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Примечание:
На мобильной платформе поддерживаются только форматы JPEG и PNG. Если в результате получается картинка, не поддерживаемого формата, будет выдано сообщение об ошибке.
Использование в версии:
Доступен, начиная с версии 8.3.15.
Методическая информация
Практические примеры
Собрать две свои картинки в TIFF и понять ограничение однокадрового PNG
Конструктор из массива использует картинки как кадры. TIFF поддерживает несколько кадров; PNG в этом опыте сохраняет только первый.
Где и как запускать
Полный серверный общий модуль своей учебной конфигурации. Картинки только в памяти.
Подготовка
В отдельной своей конфигурации УчебнаяКонфигурацияСинтаксиса создайте серверный общий модуль УчебныеКартинки с флагом Сервер. Вставьте весь код одного урока и вызовите УчебныеКартинки.ВыполнитьПример() из серверной команды своей обработки.
Встроенный собственный PNG имеет 80×40 пикселей: белое поле, синий прямоугольник 40×20 с красной рамкой, начинающийся в точке 20,10. Фотографии, подписи, печати и документы пользователей не используются.
Картинки создаются из Base64 в памяти. Методы изменения меняют ОбрабатываемаяКартинка, а не исходный Картинка. ПолучитьКартинку создаёт отдельный результат; результаты не записываются на диск или в базу.
Основные уроки выполняйте на настольном сервере 1С 8.5.1.1343, не на мобильной платформе. Там другие ограничения форматов, метаданных цвета и плотности.
Последний урок — отдельный клиентский обработчик команды своей управляемой формы: он нужен для ФильтрИменФайлов и чтения устаревшего API, не для серверной обработки.
Процедура ВыполнитьПример() Экспорт
Исходная = Новый Картинка(Base64Значение("iVBORw0KGgoAAAANSUhEUgAAAFAAAAAoCAIAAADmAupWAAAAX0lEQVR4nO3YURGAMAxEwYhAROUgu66KCIZmuO6bE5D9Ta3DqnVYwOkBpwecHnB6r8BzjJZ1gq97bh4wMDAwMDAwMDAwMDAwMDDw1+CzXjx/DDg94PSA0wNOr7oP2N0DKcWmInx+weoAAAAASUVORK5CYII="));
Если Исходная.Ширина() <> 80 ИЛИ Исходная.Высота() <> 40 Тогда
ВызватьИсключение "Собственный PNG должен быть 80 на 40 пикселей";
КонецЕсли;
Обрезка = Новый ОбрабатываемаяКартинка(Исходная);
Обрезка.ВыделитьОбласть(20, 10, 40, 20);
ВторойКадр = Обрезка.ПолучитьКартинку();
Кадры = Новый Массив;
Кадры.Добавить(Исходная);
Кадры.Добавить(ВторойКадр);
Многостраничная = Новый ОбрабатываемаяКартинка(Кадры, ФорматКартинки.TIFF);
Страницы = Многостраничная.ПолучитьКартинки();
Сообщить(Страницы.Количество() = 2);
Для Каждого Страница Из Страницы Цикл
Сообщить(ТипЗнч(Страница) = Тип("Картинка"));
КонецЦикла;
Однокадровая = Новый ОбрабатываемаяКартинка(Кадры, ФорматКартинки.PNG);
Одна = Однокадровая.ПолучитьКартинки();
Сообщить(Одна.Количество() = 1);
Результат = Однокадровая.ПолучитьКартинку();
Сообщить(Результат.КоличествоКадров() = 1);
Сообщить(Результат.Ширина() = 80 И Результат.Высота() = 40);
Сообщить(Кадры.Количество() = 2);
Сообщить(Не Исходная.НаборВариантов);
КонецПроцедурыРазбор по шагам
Вырезать второй собственный кадр 40×20 и составить массив из исходных 80×40 и этого кадра.
Конструктору передать массив и TIFF, не Булево из другого варианта конструктора.
ПолучитьКартинки возвращает массив результатов. Проверить два элемента типа Картинка.
Повторить с PNG: формат не поддерживает этот многокадровый результат, берётся первый кадр.
Сравнить количество кадров и НаборВариантов: варианты архивной картинки — не страницы TIFF.
Как проверить результат
Восемь булевых сообщений Истина: у TIFF два результата, у PNG один первый кадр 80×40.
Исходный массив всё ещё содержит две картинки.
Ожидаемый результат
Реальный массив собственных кадров используется двумя вариантами формата.
На что обратить внимание
Не путайте ПолучитьКартинки с ПолучитьКартинку и не обходите одиночный Картинка как массив.
Картинка с вариантами, анимированный формат и страницы TIFF имеют разные контракты.
Для кадров, связанных с коллекцией, отдельные методы характеристик могут возвращать Неопределено; поэтому их размеры здесь не угадываются.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.