Cat hungry.png
Здравствуйте! Собираем деньги на перевод материалов по электронике(https://www.allaboutcircuits.com/education/). Реквизиты указаны здесь.

Processing:Справочник языка Processing/textAlign()

Материал из Онлайн справочника
Перейти к: навигация, поиск


Перевод: Максим Кузьмин (Cubewriter)
Перевел 2432 статей для сайта.

Контакты:

Проверка/Оформление/Редактирование: Мякишев Е.А.


Ambox content.png Черновик


textAlign() [1]

Обозначение

textAlign()

Описание

Задает выравнивание рисуемого текста относительно координат, заданных при помощи параметров x и y в методе text(). Первый параметр alignX используется для горизонтального выравнивания – в нем можно использовать значения LEFT (выравнивание по левой стороне), RIGHT (выравнивание по правой стороне) и CENTER (выравнивание по центру).

Опциональный второй параметр задает вертикальное выравнивание текста. По умолчанию в нем стоит значение BASELINE, то есть если второй параметр указан не будет, горизонтальное выравнивание будет сброшено к значению BASELINE. Значения TOP и CENTER работают просто – выравнивают текст по верхней стороне и по центру. Значение BOTTOM выравнивает текст относительно значения, возвращаемого методом textDescent() (оно обозначает линию нижних выносных элементов шрифта). Если строчек несколько, последняя строчка будет выровнена по низу (BOTTOM), а все остальные будут расположены выше нее.

Если в методе text() заданы ширина и высота прямоугольника-рамки, второй параметр интерпретируется не как BASELINE, а как TOP. (В противном случае текст будет нарисован вне прямоугольника-рамки, поскольку значение BASELINE используется по умолчанию. BASELINE – это не самый подходящий режим для рисования текста внутри прямоугольника-рамки.)

Вертикальное выравнивание базируется на значении, возвращаемом при помощи метода textAscent() (оно обозначает линию верхних выносных элементов шрифта), однако во многих шрифтах оно указывается некорректно. Возможно, файл шрифта придется взломать и вручную подвинуть эту линию на несколько пикселей. Постарайтесь не переборщить – количество пикселей, на которые нужно передвинуть линию, должно составлять лишь несколько процентов от значений, возвращаемых методами textAscent() и textDescent(). Это нужно для того, чтобы ваш «хак» работал даже при изменении размера шрифта.

Синтаксис

textAlign(alignX)
textAlign(alignX, alignY)

Параметры

alignX – горизонтальное выравнивание; возможные значения – LEFT, RIGHT и CENTER. Тип данных – int
alignY – вертикальное выравнивание; возможные значения – TOP, BOTTOM, CENTER и BASELINE. Тип данных – int

Возвращаемое значение

void

Пример

№1

Processing textAlign 0.png


  1. background(0);
  2. textSize(16);
  3. textAlign(RIGHT);
  4. text("ABCD", 50, 30);
  5. textAlign(CENTER);
  6. text("EFGH", 50, 50);
  7. textAlign(LEFT);
  8. text("IJKL", 50, 70);

№2

Processing textAlign 1.png


  1. background(0);
  2. stroke(153);
  3. textSize(11);
  4. textAlign(CENTER, BOTTOM);
  5. line(0, 30, width, 30);
  6. text("CENTER,BOTTOM", 50, 30);
  7. textAlign(CENTER, CENTER);
  8. line(0, 50, width, 50);
  9. text("CENTER,CENTER", 50, 50);
  10. textAlign(CENTER, TOP);
  11. line(0, 70, width, 70);
  12. text("CENTER,TOP", 50, 70);

См.также

Внешние ссылки

  1. processing.org - textAlign()