Поворачивает картинку на заданный угол.
Синтаксис
Повернуть(<Угол>)Полное описание, параметры и ограничения
ОбрабатываемаяКартинка.Повернуть (ProcessingPicture.Rotate)
ОбрабатываемаяКартинка (ProcessingPicture)
Повернуть (Rotate)
Доступен, начиная с версии 8.3.14.
Синтаксис:
Повернуть(<Угол>)
Параметры:
<Угол> (необязательный)
Тип: Число.
Угол, под которым будет повернута картинка.
Описание:
Поворачивает картинку на заданный угол.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.3.14.
Методическая информация
Практические примеры
Обрезать свой прямоугольник, уменьшить вдвое и повернуть на 90 градусов
ВыделитьОбласть, Масштабировать и Повернуть не возвращают картинку. Отдельные результаты получаются после каждого шага через ПолучитьКартинку.
Где и как запускать
Полный серверный общий модуль своей учебной конфигурации. Картинки только в памяти.
Подготовка
В отдельной своей конфигурации УчебнаяКонфигурацияСинтаксиса создайте серверный общий модуль УчебныеКартинки с флагом Сервер. Вставьте весь код одного урока и вызовите УчебныеКартинки.ВыполнитьПример() из серверной команды своей обработки.
Встроенный собственный 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);
Обрезанная = Обработка.ПолучитьКартинку();
Сообщить(Обрезанная.Ширина() = 40 И Обрезанная.Высота() = 20);
Обработка.Масштабировать(50);
Уменьшенная = Обработка.ПолучитьКартинку();
Сообщить(Уменьшенная.Ширина() = 20 И Уменьшенная.Высота() = 10);
Обработка.Повернуть(90);
Повернутая = Обработка.ПолучитьКартинку();
Сообщить(Повернутая.Ширина() = 10 И Повернутая.Высота() = 20);
Сообщить(Обрезанная.Ширина() = 40 И Уменьшенная.Ширина() = 20);
Сообщить(Исходная.Ширина() = 80 И Исходная.Высота() = 40);
Сообщить(Исходная.Формат() = ФорматКартинки.PNG);
Сообщить(Не Исходная.НаборВариантов);
Сообщить("Вид исходной картинки: " + Строка(Исходная.Вид));
КонецПроцедурыРазбор по шагам
Начало координат области — левый верхний угол, смещения и размеры заданы в пикселях.
Сначала вырезать центральный прямоугольник 40×20. Затем масштабировать его на 50 процентов, не на коэффициент 0,5.
Повернуть текущие 20×10 на 90 градусов: ширина и высота меняются местами.
Сравнить ранее полученные картинки с новым результатом. Исходная и промежуточные снимки не изменились.
Вид — только чтение; его фактическое представление выводится. НаборВариантов не является количеством кадров.
Как проверить результат
Семь булевых сообщений Истина; затем фактический Вид исходного PNG.
Результаты: 40×20, 20×10, 10×20; исходный PNG по-прежнему 80×40.
Ожидаемый результат
Последовательность реальных преобразований с проверкой размеров и сохранности исходника.
На что обратить внимание
Коэффициент Масштабировать должен быть больше нуля. 50 означает 50 процентов.
Не присваивайте результат ВыделитьОбласть или Повернуть: картинка получается отдельным методом.
У прямоугольника нельзя задавать область за пределами исходника. Здесь координаты заранее известны из собственного PNG.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.