TextFormat.getTextExtent работает неверно
Код:
var newstyle:TextFormat = new TextFormat(); |
Вообше говоря, autoSize автоматом такие вещи делает.
А текст не влезает, судя по всему из-за того что размер текста не указан (массив не существует, либо fs). |
кстати autoSize не со всеми фонтами верно работает.
|
Например?
|
Код:
//Сделано на скорую руку и покорявому =) |
В приведенном коде autoSize отсутствует.
|
чёрт возьми =) точно...извиняюсь за невнимательность =)
|
Цитата:
Код:
newstyle.size = 12; пробежался по всей строке, и складывал в одну переменную все значения metrics.width, взятые от каждой буквы. Теперь работает пиксель в пиксель. Хотя решение наверное не самое красивое. Видимо то, что выдаёт getTextExtent() - это какое-то теоретическое значение, может он считает все буквы одинакового размера. В общем по логике вещей разницы быть не должно, взять getTextExtent() от всей строки, или пройтись по каждой буквы. Но она есть. |
А у меня работает. В AS3 он, кстати, убран.
И, похоже, правильно это работает только для не-embed шрифтов. |
Может ты проверял на короткой строчке... В общем у меня строка в линию, там несколько десятков тыщ символов (там типа символы нуклеотидов ДНК), вот на ней разница видна конкретно... По несколько сотен символов не влазит.
На котротких у меня тоже работает, разницы не видно. Может у мну руки не оттуда. Но я просто сравнил численно getTextExtent().width от строки, и сумма по всем getTextExtent().width от каждого символа - числа разные, клянусь. |
Часовой пояс GMT +4, время: 06:10. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.