![]() |
выравнивание иконочных шрифтов
Всем привет,
я использую шрифты с пиктограммами на подобии этого: nodeca.github.com/fontomas/ но при этом возникает проблема выравнивания http://img-fotki.yandex.ru/get/6004/..._8630ab2e_orig на рисунке а) изображен символ в текстовом поле и как видно его границы не соотносятся с реальными габаритами символа (что и понятно) но хочется с ним работать как на рисунке б), чтобы при позиционировании не приходилось гадать так как иконочные шрифты призваны облегчить жизнь а не наоборот, но хочу посоветоваться с вами может кто искал решение этой проблемы? когда я пытаюсь применить простое выравнивание по середине в лоб, получается это: http://img-fotki.yandex.ru/get/6204/..._f7f40804_orig также я пытался преобразовать их в битмап в надежде что это решит проблему, Код AS3:
подскажите как решить проблему? Добавлено через 2 минуты я не упомянул тот факт что в исходном состоянии шрифт в формате svg но как его импортировать во FlashDevelop я не знаю по этому использую этот же шрифт .otf |
1) SVG это не шрифт, это векторная графика. Плеер не умеет работать с svg, так что воспользоваться этими картинками можно только перегнав их в шейпы во Flash IDE и сделав экспорт в SWC или SWF.
2) по поводу выравнивания – как будто буквы обычных шрифтов занимают пространство согласно своим визуальным размерам и границам? Есть площадка, а как на ней размещен глиф, это решил дизайнер шрифта. 3) Можно использовать битмап, но не так примитивно. Надо сделать большую битмапдату, отрисовать туда глиф и затем определить ректангл, занимаемый изображением, с помощью getColorBoundsRect(). Затем создать новую битмапдату по размерам этого ректангла и скопировать туда изображение из большой, со смещением естественно, определенным в ректангле. |
Цитата:
Код AS3:
Цитата:
Цитата:
Цитата:
мой вопрос состоял в том, чтобы поинтересоваться нет ли каких нибудь отточенных reuseble решений (библиотек каких и т.д.) |
Цитата:
Цитата:
Цитата:
Если кто-то знает плагин к ФД, преобразующий svg в шейп или комплект шейпов с генерацией классов, то мне это тоже будет интересно. Наверное. |
Wolsh, видимо мы друг друга до конца не поняли
но не суть походу придется использовать как обычный шейп но смысл тогда от символьного шрифта теряется |
И да, если Вас не устраивает битмап и хочется использовать возможности вектора, то можно применить битмап только для определения смещения контура глифа на площадке, и дальше выравнивать текстфилд основываясь на полученном ректангле.
Добавлено через 7 минут Но тогда будут неприятности с размерами блока, в котором лежит текстфилд – ведь текстфилд будет вылазить за границы. Я бы юзал битмап и не парился. getColorBoundsRect() не самая конечно быстрая операция, но уж точно не сравнится с парсингом svg и созданием векторного контура, если Вы найдете такое решение. |
Вложений: 1
Вот пример с "обрезкой" битмапы. ФД.
|
Цитата:
|
Цитата:
не думал что кто-то сможет написать код вышел из ситуации практически таким-же способом сейчас тестирую насколько упадет скорость начальной загрузки приложения Добавлено через 18 минут профайлер показал что на скорость это практически не влияет вообще |
alatar, отлично!))
Выходит, до сих пор не пригодилось, и уже стало deprecated в пользу FXG. |
| Часовой пояс GMT +4, время: 17:57. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.