Illustrator: Текстовое поле авторазмера с заштрихованным фоном?

15

Я часто создаю надписи в одном и том же формате: белый текст на 75% непрозрачном черном фоне с полем в 10 пикселей вокруг текста. В настоящее время мне приходится создавать эти ярлыки вручную, что требует много работы.

В одном методе я пишу текст, вычисляю его высоту и ширину, затем создаю отдельный прямоугольник и помещаю его позади него. Это занимает много кликов для каждого ярлыка.

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

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

У кого-нибудь есть предложения, как решить эти проблемы, или для лучшего метода? Я использую CS3.

Дэвид Й. Стивенсон
источник

Ответы:

16

Вам действительно не нужно никаких сценариев для этого.

  • Выделите текстовый объект с помощью инструмента « Выделение» (черная стрелка)
  • Добавить новую заливку через панель «Внешний вид»
  • Переместите новую заливку ниже <Characters>элемента на панели «Внешний вид».
  • Выделите новую заливку и выберите Effect > Convert to Shape > Rectangle
  • Введите относительное количество точек / пикселей / дюймов и т. Д. Вы хотите, чтобы прямоугольник был смещен от текста
  • щелчок OK
  • Перетащите текстовый объект на панель графических стилей

метка

Фоновый прямоугольник по отношению к размеру текстового объекта. Если размер текстового объекта изменяется, прямоугольник подстраивается под соответствие.

Когда вам нужно повторно применить внешний вид, выберите текстовый объект и щелкните стиль графики.

Если после применения стиля графики у вас возникли проблемы с неправильным цветом текста, см. Решение @ BANG ЗДЕСЬ .

Скотт
источник
Хороший хак! Это было там с CS3 (который использует OP)?
штатском
Да. Это было с тех пор, как про Illustrator 7.
Скотт
1
Geesh. Посмотри, что я пропустил.
штатском
1
когда я делаю это, первый экземпляр работает. Текст черный, а текстовое поле заполнено синим цветом. Затем я применяю графический стиль к другим текстовым полям, и текст и текстовое поле становятся синими, то есть я не вижу текст. Что я делаю неправильно? заранее спасибо
@MartinBlick Существует 2 (неразличимых) типа графических стилей - Groupстиль и Objectстиль. Если вы создаете графический стиль из группы, вы должны применить его к группам. Если вы создаете стиль из отдельных объектов, он должен применяться к отдельным объектам. Стили не будут работать должным образом при смешивании групп и объектов.
Скотт
1

Я чувствую, что должен сказать это много о продуктах Adobe, но ...

Самый эффективный ответ - это скриптинг.

Вам нужно получить границы текста, нарисовать прямоугольник на основе этих чисел и расположить его позади текста. С некоторой базовой математикой и пониманием того, как добраться до различных объектов сценариев Illustrator, это не так сложно.

Для начала вам нужно получить точки, определяющие местоположение объекта:

activeDocument.selection[0].geometricBounds

Это вернет массив [x1, y1, x2, y2]. Оттуда вы можете начать создавать и стилизовать свой бокс и переместить его за текстовый объект.

Вы можете начать со сценария, который вы связали, как справку о том, как это делается. Если вы не знаете javascript и интерфейс сценариев Illy, это займет некоторое время. Плюс в том, что операция будет занимать секунды каждый раз, и вам откроется целый новый мир эффективности.

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

простая одежда
источник
1
Я оставлю этот ответ здесь для удовольствия, но я рад сообщить, что Скотт сделал его ненужным.
штатском