Создает объект на основании массива картинок и указанного формата: Картинки используются в качестве кадров, собирается многокадровая картинка. Если в качестве элемента массива была добавлена многокадровая картинка, то каждый ее кадр будет добавлен в новую отдельно. Если формат не позволяет создать много кадровую каринку, то будет сделана однокадровая с первым кадром. Картинки используются в качестве кадров, собирается многокадровая картинка. Если в качестве элемента массива была добавлена многокадровая картинка, то каждый ее кадр будет добавлен в новую отдельно. Если формат не позволяет создать много кадровую каринку, то будет сделана однокадровая с первым кадром.
Синтаксис
Новый ОбрабатываемаяКартинка(<Кадры>, <Формат>)Полное описание, параметры и ограничения
ОбрабатываемаяКартинка.На основании массива картинок и формата
ОбрабатываемаяКартинка (ProcessingPicture)
На основании массива картинок и формата
Доступен, начиная с версии 8.3.15.
Синтаксис:
Новый ОбрабатываемаяКартинка(<Кадры>, <Формат>)
Параметры:
<Кадры> (необязательный)
Массив с картинками, которые станут кадрами новой картинки.
<Формат> (необязательный)
Формат будущей картинки.
Если не указан, то формат устанавливется по первому кадру.
Описание:
Создает объект на основании массива картинок и указанного формата:
Картинки используются в качестве кадров, собирается многокадровая картинка.
Если в качестве элемента массива была добавлена многокадровая картинка, то каждый ее кадр будет добавлен в новую отдельно.
Если формат не позволяет создать много кадровую каринку, то будет сделана однокадровая с первым кадром.
Картинки используются в качестве кадров, собирается многокадровая картинка.
Если в качестве элемента массива была добавлена многокадровая картинка, то каждый ее кадр будет добавлен в новую отдельно.
Если формат не позволяет создать много кадровую каринку, то будет сделана однокадровая с первым кадром.
Использование в версии:
Доступен, начиная с версии 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 имеют разные контракты.
Для кадров, связанных с коллекцией, отдельные методы характеристик могут возвращать Неопределено; поэтому их размеры здесь не угадываются.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.