Часть 3. sampleImage

Работа с цветом, часть 3.
sampleImage.

Действительно мало кто знает, но в CS3 еще добавили клевую штуку — sampleImage, выражение крайне необычное. Оно позволяет получать доступ к изображению и получать цвет нужного пикселя.

Рассмотрим как это работает
sampleImage(point, radius = [.5, .5], postEffect=true, t=time)

point — координаты центра области, их которой берем информацию о цвете.
radius — радиус области. Это выражение умеет усреднять цвет по заданной области.

последние два параметра задавать необязательно.
postEffect — будет ли цвет браться до применения эффектов или после.
time — все ясно. Время.

Как это применять

Сделаем композицию из картинки так, чтобы размеры композиции и картинки совпадали. Положим шэйп сверху картинки и напишем ему следущее в Fill

Теперь наш шэйп будет раскрашен в соответствии с цветом, что под ним.
Применим знания о цветовой модели HSL. Сделаем так, чтобы шэйп изменял размер в зависимости от яркости картинки под ним. Напишем в скейл.

На самом деле применений очень много, хотя создавать шэйповые абстракции тоже весело. Так как подлежащим слоем может быть не только статичная картинка, но и видео.
Однако стоит понимать, что position шэйпа существует в координатном пространстве композиции, а информация о цвете берется из координатного пространства слоя.

Предлагаю вам самим подумать как решить эту проблему, а именно — как брать цвета из изображения с произвольным скейлом, находящимся в произвольной точке композиции.

19