[AI CC2022] Сделать обводку как заливку

lmn1

Топикстартер
15 лет на форуме
Сообщения
530
Реакции
216
Имеется объект с градиентной заливкой под углом 45 (1А). Под ним, допустим, желтый пантон (Б).
Хочу сделать объекту треппинг наружу с помощью обводки. Чтобы получилось как в 3Б.

Вариант 2: Просто скопировать градиент из заливки в обводку. Не подходит, т.к. градиенты заливки и обводки не совпали. И инструмент Gradient не позволяет подтянуть бегунки в обводке. А если бы и позволял, то слишком трудоемко подтягивать в каждом объекте.
Вариант 3: Так выглядит лучше всего. Но пришлось сдублировать объект, присвоить ему оверпринт, положить под исходный, увеличить и подтянуть бегунки, чтобы градиенты совпали. Неплохо, но слишком трудоемко.
Вариант 4: Скрипт С. Осокина StrokeColorFromFill. Но он не умеет добавлять градиент к обводке, только какой-то усредненный цвет из градиента. Довольно быстро и удобно, особенно для большого числа объектов. Но хотелось бы результат ближе к (3).

В конце концов решил использовать параллельный контур наружу в панельке Appearance.
Но интерес к задаче остался.
Даже не в привязке к треппингу, а просто: как быстренько сделать обводку такой же, как заливка?
Конечно, объектов может быть много. Градиенты и пантоны могут быть другими .
1665473266265.png
 

dimonchikk

15 лет на форуме
Сообщения
1 165
Реакции
432
Esko deskpack, artpro+ легко решает. И блиды с градиентами любой сложности тож.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Не надо так делать. Хотите треппинг - просто расширяйте контур обьекта.
 

lmn1

Топикстартер
15 лет на форуме
Сообщения
530
Реакции
216
Я ж написал, что в конце концов сделал параллельный контур. Т.е. о треппинге можно забыть. Сейчас просто интересно быстро и несложно сделать обводку как заливку. И беспокоить дорогие Эско, Артпро и т.п. по этому не сильно важному поводу тоже не хочется.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Я ж написал, что в конце концов сделал параллельный контур. Т.е. о треппинге можно забыть. Сейчас просто интересно быстро и несложно сделать обводку как заливку. И беспокоить дорогие Эско, Артпро и т.п. по этому не сильно важному поводу тоже не хочется.
Залить обводку с попаданием стыка в заливку в общем случае нетривиально
 

Chiga

15 лет на форуме
Сообщения
802
Реакции
519
сделать обводку такой же, как заливка
Руками "на глаз", если градиент достаточно простой.
1665475621575.png
в общем случае нетривиально
Можно попробовать заскриптовать, есть зависимость от толщины обводки.
Только кому это надо... 'hz'
 

lmn1

Топикстартер
15 лет на форуме
Сообщения
530
Реакции
216
Можно попробовать заскриптовать
Я в начале темы указал скрипт с похожей функциональностью. Только там обводка получится не градиентом, а каким-то усредненным цветом из градиента заливки (степень усредненности настроивается). А сейчас вот подумал, что если бы можно было реализовать мою хотелку, то автор этого скрипта так и сделал бы.
 

dimonchikk

15 лет на форуме
Сообщения
1 165
Реакции
432

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Я в начале темы указал скрипт с похожей функциональностью. Только там обводка получится не градиентом, а каким-то усредненным цветом из градиента заливки (степень усредненности настроивается). А сейчас вот подумал, что если бы можно было реализовать мою хотелку, то автор этого скрипта так и сделал бы.
Из скрипта доступа к градиентным обводкам нет, ибо они через апперэнс реализованы
 

Chiga

15 лет на форуме
Сообщения
802
Реакции
519
обводка получится не градиентом,
Копировать градиент в обводку, сдвинуть стопы пропорционально разницы размеров объекта с обводкой и без оной.
Из скрипта доступа к градиентным обводкам нет, ибо они через апперэнс реализованы
1665477559595.png
А какая зависимость от типа заливки?
Никакой, думаю даже с радиальным градиентом ничего не изменится.
 

almastu

15 лет на форуме
Сообщения
535
Реакции
90
почему-то у меня получилось просто дублированием заливок:
- копия заливки в Appearance
- нижней - Offset Path и затем оверпринт....

1665479023995.png
 
  • Спасибо
Реакции: dosp

lmn1

Топикстартер
15 лет на форуме
Сообщения
530
Реакции
216
almastu, этот способ уже рассмотрели выше. Сейчас просто интересно, можно ли сделать обводку градиентом как у заливки.
 

almastu

15 лет на форуме
Сообщения
535
Реакции
90
almastu, этот способ уже рассмотрели выше. Сейчас просто интересно, можно ли сделать обводку градиентом как у заливки.
это там где автор увеличивал и подтягивал бегунки? - вот этого-то мне и не понадобилось, само все село. Причем как в расширении на 0,3 мм, так и на 1.
Ну если какой пост пропустил, извините...
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851

Chiga

15 лет на форуме
Сообщения
802
Реакции
519
Откройте модель и поищите
Код:
    var myPath = app.activeDocument.selection[0];

    var gradientRef = app.activeDocument.gradients.add();

    var startColor = new CMYKColor();
    startColor.cyan = 100;
    startColor.magenta = 100;
    startColor.yellow = 0;
    startColor.black = 0;

    var gStop = gradientRef.gradientStops.add();
    gStop.color = startColor;

    var strokeColor = new GradientColor();
    strokeColor.gradient = gradientRef;

    myPath.stroked = true;
    myPath.strokeWidth = 15;
    myPath.strokeColor = strokeColor;
 

lmn1

Топикстартер
15 лет на форуме
Сообщения
530
Реакции
216
Кстати, для градиентной обводки инструмент Градиент (именно инструмент, а не панель) на работает.
 

_MBK_

Пикирующий бомбардировщик
15 лет на форуме
Сообщения
33 228
Реакции
10 851
Код:
    var myPath = app.activeDocument.selection[0];

    var gradientRef = app.activeDocument.gradients.add();

    var startColor = new CMYKColor();
    startColor.cyan = 100;
    startColor.magenta = 100;
    startColor.yellow = 0;
    startColor.black = 0;

    var gStop = gradientRef.gradientStops.add();
    gStop.color = startColor;

    var strokeColor = new GradientColor();
    strokeColor.gradient = gradientRef;

    myPath.stroked = true;
    myPath.strokeWidth = 15;
    myPath.strokeColor = strokeColor;
Странно, у меня такое не работало. Сейчас проверю.