ОбрабатываемаяКартинка.Повернуть

Методы · Rotate

Поворачивает картинку на заданный угол.

Синтаксис

Повернуть(<Угол>)
Полное описание, параметры и ограничения

ОбрабатываемаяКартинка.Повернуть (ProcessingPicture.Rotate)

ОбрабатываемаяКартинка (ProcessingPicture)

Повернуть (Rotate)

Доступен, начиная с версии 8.3.14.

Синтаксис:
Повернуть(<Угол>)
Параметры:

<Угол> (необязательный)
Тип: Число.
Угол, под которым будет повернута картинка.
Описание:

Поворачивает картинку на заданный угол.

Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.

Использование в версии:

Доступен, начиная с версии 8.3.14.

Методическая информация

Практические примеры

Обрезать свой прямоугольник, уменьшить вдвое и повернуть на 90 градусов

ВыделитьОбласть, Масштабировать и Повернуть не возвращают картинку. Отдельные результаты получаются после каждого шага через ПолучитьКартинку.

Где и как запускать

Полный серверный общий модуль своей учебной конфигурации. Картинки только в памяти.

Подготовка

  1. В отдельной своей конфигурации УчебнаяКонфигурацияСинтаксиса создайте серверный общий модуль УчебныеКартинки с флагом Сервер. Вставьте весь код одного урока и вызовите УчебныеКартинки.ВыполнитьПример() из серверной команды своей обработки.

  2. Встроенный собственный PNG имеет 80×40 пикселей: белое поле, синий прямоугольник 40×20 с красной рамкой, начинающийся в точке 20,10. Фотографии, подписи, печати и документы пользователей не используются.

  3. Картинки создаются из Base64 в памяти. Методы изменения меняют ОбрабатываемаяКартинка, а не исходный Картинка. ПолучитьКартинку создаёт отдельный результат; результаты не записываются на диск или в базу.

  4. Основные уроки выполняйте на настольном сервере 1С 8.5.1.1343, не на мобильной платформе. Там другие ограничения форматов, метаданных цвета и плотности.

  5. Последний урок — отдельный клиентский обработчик команды своей управляемой формы: он нужен для ФильтрИменФайлов и чтения устаревшего 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);
    Сообщить(Не Исходная.НаборВариантов);
    Сообщить("Вид исходной картинки: " + Строка(Исходная.Вид));
КонецПроцедуры

Разбор по шагам

  1. Начало координат области — левый верхний угол, смещения и размеры заданы в пикселях.

  2. Сначала вырезать центральный прямоугольник 40×20. Затем масштабировать его на 50 процентов, не на коэффициент 0,5.

  3. Повернуть текущие 20×10 на 90 градусов: ширина и высота меняются местами.

  4. Сравнить ранее полученные картинки с новым результатом. Исходная и промежуточные снимки не изменились.

  5. Вид — только чтение; его фактическое представление выводится. НаборВариантов не является количеством кадров.

Как проверить результат

  1. Семь булевых сообщений Истина; затем фактический Вид исходного PNG.

  2. Результаты: 40×20, 20×10, 10×20; исходный PNG по-прежнему 80×40.

Ожидаемый результат

Последовательность реальных преобразований с проверкой размеров и сохранности исходника.

На что обратить внимание

  1. Коэффициент Масштабировать должен быть больше нуля. 50 означает 50 процентов.

  2. Не присваивайте результат ВыделитьОбласть или Повернуть: картинка получается отдельным методом.

  3. У прямоугольника нельзя задавать область за пределами исходника. Здесь координаты заранее известны из собственного PNG.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.