Я создал класс, который будет использовать встроенный шрифт для динамического создания шрифта растрового изображения во время выполнения. Пока это хорошо работает, за исключением того, что у меня есть небольшая проблема с интервалом между символами.Можно ли получить точные метрики персонажа/шрифта в AS3?
На изображении под первой строкой находится фактическое TextField
, а второе - с использованием сгенерированного растрового шрифта.
Если вы посмотрите на слово «лиса» или «ред» слова «прыгнули» вы можете увидеть, что расстояние между буквами выглядит немного странно.
Есть ли альтернативы классу TextLineMetrics
, который даст мне более точные персонажи?
UPDATE:
Text качество рендеринга с использованием нового Flash Text Engine:
UPDATE 2:
Случайно я в конце концов нашел решение:
Первой проблемой был объект antiAliasType
, который был установлен в AntiAliasType.ADVANCED
.
Хотя он создает текст более высокого качества, он также вызывает TextLineMetrics
, чтобы возвращать неправильные ширины символов.
Во-вторых, он также должен быть округлен (с использованием Math.ceil
) до ближайшего пикселя, а не вниз.
Возможно, это просто проблема округления. Вы пытались округлить значение пикселя вверх или вниз? (или, если вы уже округлили их, вы не пытались их округлить?) –
Да, я сделал круглую позицию для целых пикселей, и теперь я попытался не округлить их, но это не повлияло и просто заставило персонажей размыться , – cmann