Трансформирование и перемещение выделения в photoshop
Добрый день, мои дорогие друзья и читатели. Как ваше настроение? Готовы немножко пофотошопить? Сегодня я хочу показать вам, как трансформировать объект в фотошопе для различных целей.
Сегодняшняя тема взята не с потолка. Просто вспомнилось, как несколько лет назад я поприкалывался над другом.
Суть прикола была в том, что я сфотографировал как о сидит за компьютером и что-то делает в интернете.
И я решил наложить на монитор кадр (скриншот) или просто фотографию (не помню уже) из… порнофильма. Да, вот такой негодяй. И несмотря на то, что монитор находился под углом, я наложил этот кадр так, что он встал четко по монитору. Получилось это всё довольно забавно и очень похоже. Друг тоже оценил.
Все эти действия я произвел с помощью масштабирования и трансформации. Поэтому в сегодняшней статье я наглядно покажу, как это можно воплотить в жизнь.
Давайте откроем наш фотошоп и начнем. Издеваться мы будем над этой картинкой, кроме того она в формате PNG и находится на прозрачном фоне, а именно это нам и надо. Откройте эту картинку в фотошопе, чтобы она у вас открылась на отдельном слое.
transform:scale(x,y) — масштабирование объекта
Команда для масштабирования объекта scale(x,y), где аргументы в скобках — масштабирование по осям Х и У соответственно.
Пример #5. Масштабирование объектов в html
На странице преобразуется в следующее
При наведении квадрат становится больше по горизонтали на 50% (коэффициент 1.5), а по вертикали на 30% (коэффициент 1.3). Значение 1 означает отсутствие масштабирования. Все что меньше 1, будет означать уменьшение объекта.
Примечание
Если нужно применить преобразование только по одной из осей, то можно воспользоваться более частным случаем: scaleX(x) — масштабирование по Х, scaleY(y) — масштабирование по У.
Наклон (Skew)
Наряду с перемещением, масштабированием и вращением, Free Transform также дает нам быстрый и легкий доступ к другим командам трансформаций Photoshop, это наклон, искажение, перспектива, и деформация. Для выбора любого из них, все, что нужно сделать, это, при активной команде, правой кнопкой мыши кликнуть в любом месте внутри документа, а затем выберите тот пункт меню, который хотите. Давайте начнем с «Наклона». Просто выберем его из списка:
Клик правой клавишей мыши в любом месте документа и выбор опции трансформирования — Наклон (Skew)
При выбранной опции, наведите курсор на любой из маркеров, расположенных на середине сторон рамки. Курсор должен принять вид белого треугольника-стрелки с двухсторонней стрелкой под ним. При нажатии на верхний или нижний маркер и перетаскивании его влево или вправо, объект наклоняется по горизонтали. Зажмите клавишу Alt во время перетаскивания, и объект будет наклонятся относительно центра преобразования:
Наклон объекта вправо. Курсор обведён красным кружком
Аналогично производится и наклон по вертикали, в этом случае, вместо маркеров на верхней и нижней сторонах следует использовать маркеры на боковых сторонах рамки.
Если же вы будете использовать угловые маркеры в режиме наклона, вы сможете масштабировать одну из двух сторон, прилежащих к этому углу. При нажатии и удержании Alt во время перетаскивания, противоположный угол рамки будет двигаться в противоположном направлении:
Трансформирование в режиме «наклон» — правый верхний угол перетаскиваем влево
Вы также можете ввести конкретные значения наклона сторон в градусах, в поля «Г» (горизонтальный, англ «H» и «V» (вертикальный, англ. также «V») . Значения могут быть положительными или отрицательными в зависимости от вашего направления наклона. Смотрите, какой ромб получился у меня, кроме этих значений, я ввёл значение угла поворота 45° относительно опорной точки:
Здесь я ввел три значения: поворот рамки относительно центра преобразования 45° и наклон сторон по горизонтали и вертикали по 10°
Урок №22.Свободное трансформирование
Всем приветик. Продолжаем наше освоение фотошопа, с помощью уроков Алексея Захаренко. Сегодня урок о свободном трансформировании. Как всегда, проведем предварительную подготовку и создадим новый документ, в который перетащим другое изображение, что бы образовался новый слой .
Что представляет собой свободное трансформирование? Свободное трансформирование – это изменение размеров объекта и его трансформация в плоскости и пространстве.
Что бы вызвать трансформацию объекта, нужно зайти во вторую складку меню Редактирование / Свободное трансформирование или использовать сочетание горячих клавиш CTRL + T.
Я чаще всего использую сочетание горячих клавиш, быстро и удобно.
Трансформация высоты и ширины
При активации трансформации по краям трансформируемого слоя появляются маркеры, с помощью которых и происходит изменение параметров изображения. При наведении на маркер или край объекта образуется двухсторонняя стрелочка, и зажимая левую клавишу мыши, мы можем менять высоту или ширину. Угловые маркеры выполняют сразу же две функции трансформацию высоты и ширины.
Что бы завершить трансформацию просто нажмите клавишу ENTER, и ваше трансформация применится к слою. Сделать шаг назад и применить предыдущее трансформирование можно с помощью клавиши ESC.
Функцию сохранение пропорций изображения при трансформировании выполняет клавиша SHIFT.
Трансформация – Вращение
Если вынести курсор за пределы трансформации объекта, то можно заметить, как стрелочка изменилась с двухсторонней на круговую. Для вращения изображения достаточно вращать мышь в нужном направлении. Само же трансформирование осуществляется вокруг центра трансформации, который можно перемещать в любое место и даже выносить за пределы объекта.
Панель настроек команды трансформирования
Будем идти по порядку. Квадратик с точечками, позволяет задать 9 позиций центра для объекта трансформирования.
Поскольку фотошоп тоже имею свою систему координат, который начинается верхнем левом углу, то используя настройки координат x и y можно задать расположение изображения на основном фоне.
Настройка ширины и высоты, позволяют задать нужный размер, который известен заранее. В других случаях, лучше подбирать методом эксперимента. Значок цепочки, поможет сохранить пропорции исходного изображения.
И последняя настройка, угол наклона. Задается в градусах до 1800
Как видно все настройки панели трансформирования просты и интуитивно понятны.
Контекстное меню трансформирования
1 Масштабирование. Думаю эта функция говорит сама за себя.
2 Поворот. Вращение объекта.
3 Наклон. Тут тоже думаю все понятно.
4 Перспектива. Трансформация изображения пропорционально середины одной из сторон
5 Искажение. Перемещая уголки маркеров в пространстве, можно добиться искажения объекта.
6 Деформация. С помощью этой функции можно изменить формы объекта до неузнаваемости или создать новый.
Трансформация части изображения
Что бы трансформировать не все изображение, а определенную его часть, нужно ее выделить с помощью инструмента прямолинейное лассо и вызвать функцию трансформирования.
Прокопенко Ирина
Стили деформации (Warp Styles)
Еще одна отличительная черта режима «Деформация» — то, что он включает в себя несколько стилей, доступных в меню «Стили деформации» (Warp Styles) на панели настроек. Стиль деформации позволяет мгновенно придать объекту заданную в предварительных настройках форму. Чаще всего данные стили применяют к тексту, но их также можно применить и к фигуре, и к выделению. По умолчанию, выбрана деформация «Заказная» (Custom). Она позволяет нам перемещать сетку трансформации в любом направлении:
Кликните по слову «Заказная» для открытия меню стилей деформации, где вы можете выбрать любой другой стиль. Я выберу первый сверху — «Дугой» (Arc):
В результате моя фигура мгновенно примет форму дуги:
Обратите внимание, что теперь у нас имеется только один маркер. При выбранном стиле «Дугой» маркер расположен в центре сетки, но если мы выберем другой стиль, маркер может изменить свое месторасположение
В данном случае этот единственный маркер регулирует степень изгиба фигуры. Я кликну по маркеру и перемещу его вниз, в результате чего степень изгиба уменьшится. При перемещении маркера вверх изгиб фигуры увеличится:
Вы также можете ввести определенное значение изгиба в процентах в поле «Изгиб» (Bend) на панели настроек:
Для того чтобы изменить направление деформации с горизонтального на вертикальный и наоборот, кликните по кнопке «Изменить ориентацию деформации» (Warp Style Orientation), расположенной слева от поля «Изгиб»:
Вы можете регулировать степень искажения фигуры в горизонтальном и вертикальном направлении независимо друг от друга путем ввода определенных значений, в процентах, в поля «Искажение по горизонтали» (Н) и «Искажение по вертикали» (V) на панели настроек:
Чтобы иметь возможность в большей степени регулировать форму фигуры, измените стиль деформации на «Заказная» (Custom)
В результате у рамки трансформации снова появится четыре угловых маркера вместе с направляющими, что позволит вам с легкостью придавать необходимую фигуре форму:
Основы работы с Free Transform — Масштабирование
Я постараюсь описать работу со Свободным трансформирование не на отрывочных примерах не пойми о чем, а применительно к конкретным дизайнерским задачам. Следующий урок будет полностью посвящен инструменту трансформации. В его ходе мы создадим вот такую нехитрую иллюстрацию. Как обычно в конце статьи фаил в формате PSD со всем и слоями. Однако это в следующему уроке.
Сейчас же поговорим об основах. Нарисуйте небольшую окружность инструментом Elipical Tool. На панели настроек кнопочка Shape Layer, подробнее о значении которой можно прочитать в статье Shape Layer, Path и Fill Pixel.
Выбирайте Edit > Free Transform или нажимайте Ctrl+T Вокруг объекта появляется спец рамка, с помощью которой можно менять размер объекта. Рамка устроена просто. Левый якорь растягивает объект в левую сторону, и обратно, сжимает объект с левой стороны. Правый якорь растягивает в правую сторону. Нижний в нижнюю, верхний в верхнюю. Угловые якоря наиболее используемые, так как увеличивают или уменьшают объект с двух сторон сразу. Закончив трансформацию нажмите ENTER, сделайте двойной клик или нажмите на галочку в меню настроек.
Вы здесь
Главная › Программы для работы с графикой › Macromedia Flash MX › Глава 4. Работа с отдельными объектами
Инструмент Free Transform и панель Transform
Практически все операции по трансформированию объекта могут быть выполнены с помощью инструмента Free Transform и панели Transform.
При включении инструмента Free Transform становятся доступны четыре кнопки-модификатора (рис. 4.25):
- Rotate and Skew (Поворот и наклон); Q Scale (Масштабирование);
- Distort (Искажение); Q Envelope (Изгиб).
Рис. 4.25. Кнопки-модификаторы инструмента Free Transform
Каждая из них работает как переключатель, то есть одновременно нельзя включить два или более режимов. Тем не менее, когда ни одна из кнопок не нажата, обеспечивается наиболее универсальный режим работы инструмента Free Transform, при котором доступны почти все основные его функции.
Трансформирование объекта выполняется с помощью маркеров, расположенных на выделяющей рамке. Каждый маркер связан с определенной функцией. Например, угловые позволяют поворачивать объект. Чтобы пользователям было удобнее различать предназначение маркеров, с каждым из них связан свой вариант указателя мыши. На рис. 4.26 показаны все возможные варианты указателей, а в табл. 4.1 приведены краткие пояснения к ним.
Рис. 4.26. Возможные варианты указателей для универсального режима инструмента Free Transform
Замечание
Таблица 4.1 . Возможные варианты указателей для универсального режима инструмента Free Transform
Операция |
При включенном модификаторе Rotate and Skew возможности инструмента Free Transform ограничиваются лишь функциями поворота и наклона. В этом режиме виды указателей, соответствующие другим функциям, не отображаются.
При включенном модификаторе Scale возможности инструмента Free Transform ограничиваются функциями изменения размера. Соответственно, другие виды указателей не отображаются.
Модификаторы Distort и Envelope (они появились лишь в последней версии — Flash MX) существенно отличаются от двух других:
- во-первых, при включении любого из этих режимов не отображается так называемая точка трансформации объекта (об этом понятии — в следующем подразделе);
- во-вторых, в каждом из них используется только один вид указателя, не применяемый ни в одном из других режимов работы инструмента Free Transform (в форме широкой белой стрелки).
Подробнее особенности применения модификаторов Distort и Envelope рассмотрены в подразделе «Искажение объекта и создание перспективы».
Панель Transform имеет в целом то же предназначение, что и инструмент Free Transform, однако перечень реализуемых с ее помощью функций несколько отличается.
Совет
Формат панели Transform показан на рис. 4.27.
Рис. 4.27. Формат панели Transform
Из элементов интерфейса панели в дополнительном пояснении нуждаются только две кнопки, расположенные в ее нижнем правом углу:
- Reset (Сброс), которая предназначена для восстановления исходных параметров объекта;
- Copy And Apply Transform (Копировать и применить трансформацию), которая обеспечивает предварительное создание копии исходного изображения и последующую трансформацию оригинала; в результате вы получаете как бы два совмещенных изображения, различающихся выполненной трансформацией; пример использования такого режима для операции поворота показан на рис. 4.28.
Замечание
Рис. 4.28. Пример использования режима Copy And Apply Transform (слева — исходный объект, справа — результат его трансформации)
19. Инструмент трансформации Free Transform (Свободная трансформация)
Инструмент () предназначен для интерактивной трансформации глифа: поворота, изменению масштаба, наклону. Если на глифе находится всего один контур, то он и будет трансформироваться. Если контуров несколько и ни один из них не выделен, то трансформироваться будут все контуры. Если выделен весь контур, то будет трансформироваться только один этот контур. Если на контуре выделено несколько узлов, то трансформироваться будут выделенные узлы.
Контур перед трансформированием желательно выделить. После выбора инструмента Free Transform (Свободная трансформация) вокруг контура появляется рамка (Рис. 23).
По углам рамки находятся квадратные маркеры, с помощью которых можно изменить размер контура. Указатель мыши принимает вид двунаправленной стрелки, показывающей направления изменения размера. Чтобы размеры контура изменялись пропорционально, нужно во время изменения размеров удерживать нажатой клавишу Shift.
Для поворота контура наведите указатель мыши на круглый маркер на правой грани рамки трансформации. Как только указатель мыши примет вид (), то контур можно поворачивать
Обратите внимание на маркер в виде косого крестика, расположенного в середине рамки трансформации. Поворот глифа будет выполняться именно вокруг него
Если центр поворота должен находиться в другом месте, то просто подхватите мышью этот значок и переместите туда, где этот центр должен находиться. Независимо от угла поворота контура, грани рамки выделения всегда параллельны горизонтали и вертикали. С нажатой клавишей Shift поворот выполняется с градацией в 15°.
Для наклона формы контура предлагается маркер в виде трапеции. Указатель мыши принимает вид (), показывающий направления искажения. С нажатой клавишей Shift наклон выполняется с градацией в 15°.
С нажатой клавишей Ctrl функции круглого и трапециевидного маркеров меняются местами, хотя форма их на рамке выделения остается без изменения. То есть маркер в виде параллелограмма поворачивает контур, а круглый контур искажает контур. Указатель мыши показывает новые функции маркеров.
После трансформации глифа снова нажмите на кнопку Transform (Трансформация) () для закрытия рамки трансформации или выберите другой инструмент. При работе с рамкой трансформации некоторые инструменты и команды становятся недоступными.
Вызвать рамку трансформации можно также следующими способами:
- Выполнить команду Contour → Transform → Free Transform (Контур → Трансформировать → Свободная трансформация);
- Выполнить комбинацию клавиш Ctrl + 9;
- Выделить трансформируемые объекты. Вызвать контекстное меню щелчком правой клавиши мыши и выполнить команду Free Transform (Свободная трансформация).
- < Назад
- Вперёд >
Перемещение объекта
Мы можем использовать Free Transform для перемещения выбранного объекта из одного места в другое в пределах документа. Один из способов сделать это — нажать в любом месте внутри рамки трансформирования (за исключением центра преобразования) и перетащить объект в любую сторону с помощью мыши.
Вы также можете установить новое положение для объекта, введя конкретное значение на панели параметров в поля ввода координат X (горизонтальная позиция) и Y (вертикальная позиция)
Обратите внимание, что эти значения основаны не на самом объекте, а на положении его центра преобразования
, что мы который мы рассмотрели немного выше
Если вы нажмете на маленький треугольник между полями ввода X и Y, то теперь эти поля ввода будут показывать не фактические координаты центра преобразования относительно границ документа, а расстояние, на которое вы переместите объект по отношению к объекту в текущей позиции. Другими словами, если вы введёте значение 50 в поле ввода X, объект будет перемещён объект на 50 пикселей вправо, в то время как ввод 100 в поле Y подвинет объект вниз на 100 пикселей. Введите отрицательные значения, чтобы переместить объект в противоположных направлениях. Непосредственно сразу после нажатия на треугольник, в полях ввода отображается значение «ноль», т.к. пока вы объект не перемещали:
Изображение увеличено на 150%
Другие варианты трансформации
В дополнение к «Наклону», «Искажению», «Перспективе», и «Деформации», «Свободное трансформирование» предоставляет нам доступ к более стандартным вариантам трансформации, как то «Поворот на 180°», «Поворот на 90° по ч.с.» или против часовой стрелки, а также «Отражение по горизонтали» (Flip Horizontal) и «Отражение по вертикали» (Flip Vertical). Вы найдете эти опции в нижней части меню, после того, как вы нажмёте правой клавишей мыши внутри документа:
Дополнительные опции трансформирования
Когда вы закончите преобразования объекта, и будете готовы к сохранению ваших изменений, вы можете сделать это либо нажав галочку в панели параметров, либо нажав клавишу Enter на клавиатуре. Если вы решите, что вам не хотите сохранить ваши изменения, нажмите кнопку «Отменить» (Cancel) в панели параметров (она расположена непосредственно слева от галочки), либо клавишу Esc на клавиатуре. Это приведет к выходу из режима команды «Свободное трансформирование» и вернёт объект к первоначальной форме и размеру.
-
Перемещение слоя в редакторе Adobe Photoshop
Для перемещения слоя целиком или его фрагмента используется инструмент Move
с Панели инструментов.Итак, для перемещения слоя необходимо выполнить следующие действия:
- Шаг 1.
Если необходимо переместить не весь слой целиком, а только какой-то его фрагмент
, то воспользоваться любым инструментов выделения и выделить фрагмент слоя. - Шаг 2.
Выбрать на Панели инструментов инструмент Move
. - Шаг 3.
Подвести курсов внутрь выделения для перемещения фрагмента или в любую точку на слое для перемещения слоя целиком. - Шаг 4.
Выполнить перетаскивание. Для этого нажать левую кнопку мыши и, продолжая удерживать кнопку нажатой, переместить курсор мыши.
- Шаг 1.
-
Преобразование слоя в редакторе Adobe Photoshop
Для преобразования слоя или его выделенного фрагмента можно воспользоваться одной из команд во вложенном меню Edit — Transform
.К ним относятся следующие команды: Scale, Rotate, Skew, Distort, Perspective, Rotate 180°, Rotate 90° CW, Rotate 90° CCW, Flip Horizontal, Flip Vertical.
Или же можно воспользоваться командой Free Transform
в меню Edit
, которая позволит выполнить все эти преобразования в рамках одной операции. После выбора команды Edit — Free Transform
слой или выделенный фрагмент слоя будет окружен границей с восемью маркерами, а на панели Options будет отображен целый ряд параметров, значения которых можно задавать непосредственно на панели Options.Scale
— чтобы отмасштабировать изображение внутри области необходимо перетащить один из восьми квадратных маркеров. Для выполнения пропорционального масштабирования необходимо перетащить угловой маркер с нажатой клавишей Shift . Или же можно непосредственно на панели Options задать значения для параметров W
и H
в процентах от исходного размера. Для того чтобы размеры менялись пропорционально необходимо щелкнуть на значке связи, который расположен между значениями параметров W
и H
.Flip
— чтобы перевернуть изображение необходимо переместить один из маркеров за противоположный ему маркер. Если, например, левый маркер перетащить правее правого маркера, то изображение повернется по горизонтали. Хотя если необходимо выполнить только переворот изображения проще воспользоваться командами Flip Horizontal и Flip Vertical из меню Edit — Transform.Rotate
— для поворота изображения необходимо подвести курсор мыши к угловому маркеру, так чтоб курсор мыши принял форму закругленной двухсторонней стрелки, нажать левую кнопку мыши и, продолжая удерживать кнопку нажатой, перетащить курсор. На панели Options можно задать угол поворота при помощи параметра Rotate.Skew
— чтобы скосить изображение необходимо перетащить боковой, верхний или нижний маркер с нажатой клавишей Ctrl в Windows или Command на Macintosh. На панели Options скос задается при помощи параметров H и V.Distort
— изображение можно исказить, перетащив угловой маркер с нажатой клавишей Ctrl в Windows или Command на Macintosh.Perspective
— для создания перспективы необходимо перетащить угловой маркер с нажатыми клавишами Ctrl + Shift в Windows или Command + Shift на Macintosh. Если требуется перемещать две точки синхронно, то перетаскивать угловой маркер следует с нажатыми клавишами Ctrl , Alt и Shift в Windows или Command , Option и Shift на Macintosh.Чтобы принять преобразование необходимо нажать клавишу Enter в Windows (Return на Macintosh) или дважды щелкнуть левой кнопкой мыши внутри области.Также можно нажать на кнопку на панели Options.
Чтобы отменить преобразование необходимо нажать клавишу Esc или нажать на кнопку на панели Options.
backface-visibility
При работе с трёхмерными преобразованиями, элементы время от времени трансформируются таким образом, что их поверхность отворачивается от экрана. Это может быть вызвано установкой значения rotateY(180deg), к примеру. По умолчанию эти элементы показываются с обратной стороны. Так что если вы не желаете видеть эти элементы вообще, установите свойство backface-visibility как hidden, и вы спрячете элемент всякий раз, когда он отворачивается от экрана.
Другим значением для backface-visibility является значение по умолчанию visible, оно всегда показывая элемент, независимо от того, в каком направлении он смотрит.
В демонстрации ниже обратите внимание, что второй блок не отображается, поскольку установлена запись backface-visibility: hidden
Свойство backface-visibility имеет более важное значение при использовании анимации
Центр преобразования (Reference Point), изменение положения методом перетаскивания
Если вы посмотрите на центр рамки, то увидите маленький кружок с чёрточками и точкой в центре, это и есть центр преобразования
, или центр поворота. Кроме того, он является опорной точкой трансформирования
. Простыми словами, эта точка, вокруг которой всё вращается и сжимается/растягивается:
Опорная точка трансформации обведена красным, рисунок увеличен до масштаба 150%
По умолчанию опорная точка всегда расположена в центре рамки. Но бывают случаи, когда необходимо изменить положение центра трансформации, например, если мне надо повернуть мою фигуру не относительно её геометрического центра, а относительно угла. Для изменения положения центра, надо всего-лишь нажать на его иконку и перетащить в нужное место, и это новое место станет новой точкой вращения. Вы можете даже перетащить его пределы рамки. Если вы перетащите значок к одному из маркеров, он привяжется к этому маркеру. На примере я потащил его на маркер в нижнем левом углу, и теперь, при повороте, объект вращается вокруг этого угла:
Поворот производится вокруг левого нижнего угла рамки, центр трансформации, привязанный к угловому маркеру, увеличен.
Трансформации
Последнее обновление: 04.03.2016
Трансформации представляют инструмент изменения положения или размера элементов WPF. Трансформации могут быть полезны в тех ситуациях, когда надо изменить положение элемента,
либо анимировать. Все трансформации наследуются от абстрактного базового класса
System.Windows.Media.Transform и представляют следующие классы:
-
TranslateTransform: сдвигает элементы по горизонтали и вертикали
-
RotateTransform: вращает элемент
-
ScaleTransform: выполняет операции масштабирования
-
SkewTransform: изменяет позицию элемента путем наклона на определенное количество градусов
-
MatrixTransform: изменяет координатную систему в соответствии с определенной матрицей
-
TransformGroup: представляет группу трансформаций
RotateTransform
RotateTransform поворачивает элемент вокруг оси на определенное количество градусов. Данный объект принимает три основых параметра:
-
: угол поворота
-
: устанавливает центр вращения по оси X
-
: устанавливает центр вращения по оси Y
<Rectangle Width="100" Height="30" Stroke="Blue" Fill="LightBlue"> <Rectangle.RenderTransform> <RotateTransform Angle="45" /> </Rectangle.RenderTransform> </Rectangle>
TranslateTransform
TranslateTransform позволяет сместить положение элемента по оси X, с помощью свойства X, и по оси Y — с помощью свойства Y.
<Rectangle Width="100" Height="30" Stroke="Blue" Fill="LightBlue"> <Rectangle.RenderTransform> <TranslateTransform X="20" Y="-30" /> </Rectangle.RenderTransform> </Rectangle>
ScaleTransform
Обеспечивает масштабирование элемента на определенную величину. Для изменения ширины надо задать свойство ScaleX,
а для изменения длины — свойство ScaleY. Кроме того, также имеются свойства CenterX и
CenterY, позволяющие позиционировать элемент.
Например, увеличение прямоугольника в полтора раза:
<Rectangle Width="100" Height="30" Stroke="Blue" Fill="LightBlue"> <Rectangle.RenderTransform> <ScaleTransform ScaleX="1.5" ScaleY="1.5" /> </Rectangle.RenderTransform> </Rectangle>
SkewTransform
SkewTransform позволяет задать наклон элемента вдоль оси X с помощью свойства AngleX, и по оси Y — с помощью свойства
AngleY. А с помощью свойств CenterX и CenterY можно изменить положение элемента относительно
осй X и Y:
<Rectangle Width="100" Height="30" Stroke="Blue" Fill="LightBlue"> <Rectangle.RenderTransform> <SkewTransform AngleX="45" /> </Rectangle.RenderTransform> </Rectangle>
MatrixTransform
Осуществляет матричное преобразование элемента. В свойстве Matrix мы задаем первые два столбца, которые применяются при
преобразовании. Последний столбец по умолчанию имеет значения {0 0 1}.
<Rectangle Width="100" Height="30" Stroke="Blue" Fill="LightBlue"> <Rectangle.RenderTransform> <MatrixTransform Matrix="1 0 1 2 1 -3" /> </Rectangle.RenderTransform> </Rectangle>
TransformGroup
TransformGroup позволяет комбинировать различные трансформации вместе:
<Rectangle Width="100" Height="30" Stroke="Blue" Fill="LightBlue"> <Rectangle.RenderTransform> <TransformGroup> <RotateTransform Angle="45" /> <TranslateTransform Y="-40" X="30" /> </TransformGroup> </Rectangle.RenderTransform> </Rectangle>
RenderTransform и LayoutTransform
Для применения трансформаций у фигур и стандартных элементов управления WPF используются свойства RenderTransform и
LayoutTransform. Несмотря на то, что для обоих свойств трансформации задаются одинаково, их действие различается. Так, свойство
LayoutTransform применяется до компоновки элемента, а RenderTransform — после, поэтому одинаковые трансформации для этих свойств могут давать немного разные результаты:
<Grid> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition /> </Grid.ColumnDefinitions> <Button Width="80" Height="30" Background="LightBlue" Content="Hello"> <Button.RenderTransform> <RotateTransform Angle="-45" /> </Button.RenderTransform> </Button> <Button Grid.Column="1" Width="80" Height="30" Background="LightBlue" Content="Hello"> <Button.LayoutTransform> <RotateTransform Angle="-45" /> </Button.LayoutTransform> </Button> </Grid>
НазадВперед
Трансформирование и инструменты выделения
Трансформирование работает не только с векторными фигурами но и со всем на свете. Особенно часто трансформирование используется с объектами растровыми, в совокупности с инструментами выделения. Про инструменты выделения можно почитать в моих статьях Инструменты выделения Лассо, или Инструменты выделения Примитивы. Сделайте выделения одним из инструментов выделения и зайдите в Edit > Free Transform. Выделение превратится в объект трансформирования. Можно смело менять размер и форму.
Замечу, что создавая выделение на растровом слое, а затем трансформируя его, вы не создаете новый слой и объект трансформирования. Вы вырываете область выделения из её среды, и встраиваете обратно при окончании трансформирования. Все остается на одном слое. Поэтому прежде всего, скопируйте выделение на новый слой. Затем работайте с ним.