Как центрировать текст по вертикали в текстовом поле в Photoshop

Довольно раздражает, что вы не можете центрировать текст по вертикали в Ps автоматически, как в Indd. Еще больше раздражает то, что ограничительную рамку текста нельзя «свернуть» или «подогнать под текст», как в Indd.

Я мог бы преобразовать текст в фигуру, но тогда я потерял бы цвет. Я мог бы преобразовать в смарт-объект, но тогда это уже не вектор, когда я экспортирую в pdf.

Есть ли обходной путь, о котором кто-либо знает, который облегчил бы центрирование текста по вертикали?

Ответы (7)

Для позиционирования текста ограничивающая рамка не нужна .

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

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

текст по центру без ограничивающей рамки

Хотя это не автоматически (вам нужно настроить его вручную для каждого текста), вы можете использовать Baseline Shiftего для «имитации» вертикального центрирования:

введите описание изображения здесь

Сегодня я нашел способ, о котором не знал, отчасти так говорит Майкл Остерхус, но я не совсем понял, что он имел в виду с самого начала.

  1. Вам нужно написать свой текст всего одним щелчком мыши, а не ограничивающей рамкой, которую можно перетаскивать. Это можно разместить где угодно.
  2. Следующим шагом вы создаете блок. Я использовал инструмент «Прямоугольник», чтобы создать блок области, в которой я хотел, чтобы мой текст был выровнен как по вертикали, так и по горизонтали.
  3. Затем я выбрал как текстовый слой, так и слой прямоугольника, и, выбрав их оба, я подошел Layer -> Alignи нажал оба Vertical centersиHorizontal centers

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

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

спасибо, недооцененный совет

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

centerTextVertically( app.activeDocument.artLayers.getByName( 'Text-Layer-Name' ) );

/**
 * @param {ArtLayer} textLayer  The text layer to apply the vertical centering.
 */
function centerTextVertically( textLayer ) {
    if ( textLayer.kind !== LayerKind.TEXT ) {
        return; // No-op: Not a text layer
    }

    var verticalCenterOffset = textLayer.textItem.height / 2;
    var textCenterOffset = textLayer.textItem.size / 2;
    textLayer.textItem.baselineShift = textCenterOffset - verticalCenterOffset;
}
Пробовал, Photoshop CC 20.0.5 говорит, что не работает. Оооо.
@RocBoronat Интересно, с тех пор они, должно быть, изменили API. Я посмотрю, посмотрю, что изменилось.

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

Вот это неизбежно...

но вы можете сделать это в InDesign.

Да, и это здорово. Но PS и AI застряли без него. :(


РЕДАКТИРОВАТЬ: Черт! Я думал, что ответ @Yisela был частью вопроса. Прости за это.

Спасибо за фору - есть еще более простой способ, на который я наткнулся, следуя приведенным выше инструкциям: (у меня PhotoShop CC 2015.1.1)

  1. Вы можете использовать перетаскиваемую ограничительную рамку, просто подтяните ее к верхней и нижней части текста внутри.
  2. Используя Rectangular Marquee Tool, перетащите прямоугольник, в котором вы хотите центрировать текст.
  3. Нажмите и выберите только текстовый слой в окне слоев.
  4. Потяните вниз Layer -> Align Layers to Selection и нажмите Вертикальные центры и Горизонтальные центры
  1. Добавьте векторную фигуру (прямоугольник).
  2. Используйте инструмент «Текст», чтобы добавить текст в фигуру (текст будет на новом слое).
  3. Преобразование текстового слоя в смарт-объект
  4. Выберите как форму, так и текстовый слой
  5. Выровняйте их Вертикально/Горизонтально.