Показать сообщение отдельно
Старый 04.03.2014, 03:14
Freeman вне форума Посмотреть профиль Отправить личное сообщение для Freeman Найти все сообщения от Freeman
  № 7  
Ответить с цитированием
Freeman
 
Аватар для Freeman

Регистрация: Feb 2014
Сообщений: 56
Никакие из вышестоящих методов не работают должным образом. Возвращаемые значения не соответствуют длине текста в пикселах.

Проверял так: создал подопытный текст, создал графический кубик, поставил их в одни координаты и сдвинул от друг-друга по вертикали, что они стали равны по начальной точке.
Выводил разный текст и изменял ширину кубика на значение возвращаемое textField.textWidth.
В коротких текстах, ширина кубика совпадает, в более длинных, от 7 символов, длина не дотягивает или в редких случаях перетягивает.

На скриншоте, задний фон за текстом(кубик). Видно с какой разницей рассчитывается длина текста\фона.


Добавлено 26 минут спустя, после пробы BitmapData ===========================================
Попробовал загнать Label в BitmapData
Код AS3:
icon.iconBack.width = (Label.x + TextWidth() + 12); // фон
 
public function TextWidth():Number
	{
		var textBitmap:BitmapData = new BitmapData(Label.textField.textWidth, 1, false, 0x00);
		return(textBitmap.width);
	}
Но изменения совсем не значительные. Голова ломается. Как же справится с этим?


Последний раз редактировалось Freeman; 04.03.2014 в 04:31.