Render.ru

Деформация градиентной заливки.

#1
Рисуем окружность, заливаем ее радиальной градиентной заливкой. При трансформации б. бокса, вместе с объектом трансформируется и заливка. А как добится этого же без деформации объекта? Хэлп посмотрел, но там ничего про это не нашел. Может так искал?
 
#2
poprobuj dobitsja nuzhnogo effekta Gradient Tool-om
v atributah vkljuchaesh otobrazhenie centra
vkljuchaesh Smart Guides i iz centra vedesh liniju Gradient Too-om i vivodish ejo nemnogo za kraj okruzhnosti stolko skolko nuzhno
 
#3
Сделай из объекта, который не хочешь деформировать, маску. В нее спрячь объект с градиентной заливкой. Когда получишь желаемое, можешь обрезать градиент по маске: Pathfinder > Crop
 
#4
Нет, не то. При способе Paavels градиент все рабно остается "круглым". Второй выход в принципе подходит, но должна же быть возможность сделать это в одно действие?!
Спасибо, arhip.
 
#5
>> градиент все рабно остается "круглым"
радиальная заливка (radial Gradient Fill или PS Shading Type3) может быть только «круглой» (см. pp.267-270 «PostScript® LANGUAGE REFERENCE third edition» ) — AI в этом случае работает с объектами, имеющими выражение в postScript'е.
 
#7
Pattern (PS1 Type 1 shading) и градиент немного по-разному строятся: Pattern задается собст-но функцией, его рисующей и матрицей трансформации, кою и изменяет «Transform Pattern Only». Радиальный градиент рисуется кругами безо всяких матриц. Кстати, загляни в Envelope Options — там есть галка трансформации только для линейных градиентов.
 
#8
Но ведь при деформации объекта она (заливка) тоже деформируется.
Честно говоря, не совсем понял ответ.
 
#9
>> Но ведь при деформации объекта она (заливка) тоже деформируется.
тогда я не совсем понял вопрос :)
Если имеются ввиду простые трансформации типа Skew\Rotate, то они прекрасно работают через Transformаt'ion palette c включеннной галкой Transform Pattern Only. Изогнуть же радиальный градиент точно также, как и линейный — не удастся
 
#10
При этом объект у меня деформируется тоже.
Что-то я уже совсем ничего не понимаю... :(
Есть круг, залитый радиальным градиентом. Как "сплюснуть" градиент так, чтоб круг при этом оставался кругом? Действия, расчитанные на Pattern, РГ не воспринимает, в том числе и на трансформацию с нажатой тильдой...
 
#11
Вопрос wrote:
>
> При этом объект у меня деформируется тоже.
> Что-то я уже совсем ничего не понимаю... :(
> Есть круг, залитый радиальным градиентом. Как "сплюснуть"
> градиент так, чтоб круг при этом оставался кругом? Действия,
> расчитанные на Pattern, РГ не воспринимает, в том числе и на
> трансформацию с нажатой тильдой...


ну не предусмотрена подобная трансформация в иллюстраторе, что же делать!
есть у Barco (http://www.finaleye.com) неплохой интерактивный инструмент для иллюстраторовского градиента (под мак) (http://www.finaleye.com/boostx_examples_gradient.htm), но и там, насколько помню (давно пользовался), редактирование градиента не предусматривает его сжатий.
на иллюстрации на сайте по упомянутому адресу градиент выглядит трансформированным, но я думаю, что лишь это результат предварительной трансформации самого объекта, чего ты пытаешься избежать.
так что, повторю, по-моему, единственный способ, это (цитирую свой постинг):
"Сделай из объекта, который не хочешь деформировать, маску. В нее спрячь объект с градиентной заливкой. Когда получишь желаемое, можешь обрезать градиент по маске: Pathfinder > Crop"
 
#12
>> При этом объект у меня деформируется тоже
Странно, а у меня деформируется только градиент :-( Прямо сейчас специально проверил. Соотвествующие настройки Transform palette можешь посмотреть здесь: http://arkady-m.boom.ru/t.html
Работают все транформации, доступные из Transform palette.
 
#13
Аркадий совершенно прав. С включенной опцией "Transform pattern only" при трансформации через палитру объект остается без изменений, а градиенты меняются (хотя это и нелогично: градиент - не pattern). Способ работает, но он все же не очень удобен, т.к. иллюстратор не запоминает численные значения трансформаций и не показывает их в палитре. Наверное, поэтому никогда им не пользовался.
 
#14
>> т.к. иллюстратор не запоминает численные значения трансформаций
А чему же они равны, как не BBox'у объекта? — ведь ничего никуда наружу не выступает.
 
#15
>> т.к. иллюстратор не запоминает численные значения трансформаций
А чему же они равны, как не BBox'у объекта? — ведь ничего никуда наружу не выступает.

ты о BB объекта говоришь. я имею ввиду, что численные изменения градиента нигде увидеть невозможно: величину скоса, поворота и т.п.
 
#16
>> численные изменения градиента нигде увидеть невозможно:
В иллюстраторе это невозможно (скос, поворот) и для самого объекта. В InD — таки, да.
Но не все так плохо — в записанном EPS'е «все ходы записаны»:
1. Находишь строку «Adobe_AGM_Gradient/Gb get exec»
2. Через строчку от будет строка параметров градиента, заканчивающаяся Gg. В квадратных скобках перед Gg — массив параметров subj'а:
— первая и вторая ПАРЫ чисел — координаты концов горизонтальной и вертикальной осей градиента относительно центра градиента. Система координат зеркальная, т.е положительное направление оси «X» — справа налево. Длина этих осей — полупротяженность градиента вдоль этой оси. Например, [100 -100 300 300 …] задает градиент, горизонтальная ось которого повернута на 45° и соотношение их длин (aspect ratio) 1:3.
Угол между осями, отличный от 90° (выполняется неравество |X1/Y1| <> |X2/Y2| ) говорит о том, что к градиенту был применен сдвиг (Shear).
— третья пара чисел — координаты центра градиента (от LLC страницы!)
 
#17
|X1/Y1| <> |X2/Y2| следует понимать как |X1/Y1| <> |Y2/X2| (тангенс и котангенс, блинс)
 
#18
Странно... Все точно также, но не работает... :( В случае с Паттерном - работает, С радиальной растяжкой - нет. Раз тридцать проверял - трансоформируется вместе с объектом. АИ 10.0.3, W2K SP2. Видимо это где-то в ДНК :(
 
Сверху