<< к оглавлению...

Обрезка изображения, выходящего за пределы полотна

В моей практике очень часто встречается такая ситуация: скажем, у вас есть изображение 300 на 300 пикселей:

image-for-cropping

И вы хотите добавить к нему новый слой, взятый из другого изображения (допустим, фото грязи), размеры которого 500 на 500 пикселей:

dirt

Самое простое и стандартное решение – просто перетащить "грязевый" слой поверх исходного изображения, и назначить слою с грязью режим наложения Multiply (Умножение):

crop-dirt

Но, предположим, вы решили сделать картинку бесшовной (для использования в многократно повторяющейся текстуре). Вы берёте "слой с грязью" и используя фильтр Offset смещаете картинку на 150x150 пикселей (половина вашего 300x300 пиксельного изображения)… Вот результат:

crop-no-good-tiling

Где шов? Причина, по которой вы не видите шов в том, что хоть размер полотна 300 на 300 пикселей, у "грязевого слоя" всё тот же размер 500х500 пикселей, и из них вы видите лишь 300х300 пикселей. И таким образом, Offset-фильтр не работает так как вам нужно. Чтобы сделать "грязевый слой" пригодным для многократного повторения (tileable), вам нужно обрезать слой так, чтобы у него был размер 300x300 пикселей. Делается это так:
командой Select All (Выбрать всё) и нажать Crop (Обрезать). Таким образом отсекается всё то, что выходит за размеры полотна. И теперь, применив фильтр Offset, вы увидите ожидаемый результат, а затем, воспользовавшись кистью Клонирование (Clone brush) удалите ненужные стыки/швы.


оригинал статьи : http://www.neilblevins.com/cg_education/cropping_off_canvas_image/cropping_off_canvas_image.htm
перевод и адаптация: Александр Ергашов /© 2009-2012/
<< к оглавлению...