Я часто создаю надписи в одном и том же формате: белый текст на 75% непрозрачном черном фоне с полем в 10 пикселей вокруг текста. В настоящее время мне приходится создавать эти ярлыки вручную, что требует много работы.
В одном методе я пишу текст, вычисляю его высоту и ширину, затем создаю отдельный прямоугольник и помещаю его позади него. Это занимает много кликов для каждого ярлыка.
В другом методе я рисую текстовое поле, выделяю его напрямую, задаю правильный фон и поля, а затем вставляю текст. Однако я должен затем изменить размер окна вручную, что означает больше щелчков и большую неточность. Похоже, нет способа напрямую выделить текстовое поле, если в нем есть текст.
Я попытался использовать скрипт, содержащийся в связанном ответе, чтобы изменить размер текстового поля к содержимому, но он только изменяет размер поля по вертикали и удаляет мой цвет и поля.
У кого-нибудь есть предложения, как решить эти проблемы, или для лучшего метода? Я использую CS3.
источник
Group
стиль иObject
стиль. Если вы создаете графический стиль из группы, вы должны применить его к группам. Если вы создаете стиль из отдельных объектов, он должен применяться к отдельным объектам. Стили не будут работать должным образом при смешивании групп и объектов.Я чувствую, что должен сказать это много о продуктах Adobe, но ...
Самый эффективный ответ - это скриптинг.
Вам нужно получить границы текста, нарисовать прямоугольник на основе этих чисел и расположить его позади текста. С некоторой базовой математикой и пониманием того, как добраться до различных объектов сценариев Illustrator, это не так сложно.
Для начала вам нужно получить точки, определяющие местоположение объекта:
Это вернет массив [x1, y1, x2, y2]. Оттуда вы можете начать создавать и стилизовать свой бокс и переместить его за текстовый объект.
Вы можете начать со сценария, который вы связали, как справку о том, как это делается. Если вы не знаете javascript и интерфейс сценариев Illy, это займет некоторое время. Плюс в том, что операция будет занимать секунды каждый раз, и вам откроется целый новый мир эффективности.
Причина того, что скрипт не сделал то, что вы хотели, заключается в том, что вы не можете применить цвет фона к тексту области. Он преобразует его в текст области, чтобы выполнить центрирование, оставляя вас без стилей рамки.
источник