Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 16.04.2008, 00:08
alekslitvinenk вне форума Посмотреть профиль Отправить личное сообщение для alekslitvinenk Посетить домашнюю страницу alekslitvinenk Найти все сообщения от alekslitvinenk
  № 1  
Ответить с цитированием
alekslitvinenk
 
Аватар для alekslitvinenk

Регистрация: Oct 2005
Адрес: Москва
Сообщений: 491
Отправить сообщение для alekslitvinenk с помощью ICQ Отправить сообщение для alekslitvinenk с помощью AIM Отправить сообщение для alekslitvinenk с помощью Skype™
По умолчанию Точный размер текста в текстфилде

Неожиданно столкнулся с проблемой, когда textWidth и textHeight текстового поля возвращают недостоверные результаты. Для одних шрифтов погрешности почти нет, а для других она весьма значительна. С погрешностью textWidth я уже почти смрился, но вот узнать точный размер textHeight хоть убейте - надо...
Использование LineMetrics тоже к получению достоверных данных не привели.
Есть ли у кого-нибудь идея как получить более менее правдивые данные о textHeight ?

Старый 16.04.2008, 10:10
Pecher вне форума Посмотреть профиль Отправить личное сообщение для Pecher Найти все сообщения от Pecher
  № 2  
Ответить с цитированием
Pecher
 
Аватар для Pecher

Регистрация: Jun 2005
Адрес: Bryansk
Сообщений: 73
Если совсем ниче не поможет, а скорость не очень важна - переводи текст на BitmapData и ищи снизу первую строку, где есть хоть одна точка
__________________
Flash can do it.

Старый 16.04.2008, 10:22
alekslitvinenk вне форума Посмотреть профиль Отправить личное сообщение для alekslitvinenk Посетить домашнюю страницу alekslitvinenk Найти все сообщения от alekslitvinenk
  № 3  
Ответить с цитированием
alekslitvinenk
 
Аватар для alekslitvinenk

Регистрация: Oct 2005
Адрес: Москва
Сообщений: 491
Отправить сообщение для alekslitvinenk с помощью ICQ Отправить сообщение для alekslitvinenk с помощью AIM Отправить сообщение для alekslitvinenk с помощью Skype™
Спасибо за совет.
Но дело в том, что скорость как раз-таки и важна, так как все это должно висеть на Event.CHANGE...

Старый 16.04.2008, 10:53
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 4  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Размер глифов или все таки текста с полями?

Старый 16.04.2008, 11:05
alekslitvinenk вне форума Посмотреть профиль Отправить личное сообщение для alekslitvinenk Посетить домашнюю страницу alekslitvinenk Найти все сообщения от alekslitvinenk
  № 5  
Ответить с цитированием
alekslitvinenk
 
Аватар для alekslitvinenk

Регистрация: Oct 2005
Адрес: Москва
Сообщений: 491
Отправить сообщение для alekslitvinenk с помощью ICQ Отправить сообщение для alekslitvinenk с помощью AIM Отправить сообщение для alekslitvinenk с помощью Skype™
Вобщем, есть текстовое поле его должна окружать рамка с маркерами для ресайзинга...
Проблема в том, что я не могу точно посчитать высоту рамки каждый раз когда добавляеться/удаляется новая строка текста...

Старый 16.04.2008, 13:18
Pecher вне форума Посмотреть профиль Отправить личное сообщение для Pecher Найти все сообщения от Pecher
  № 6  
Ответить с цитированием
Pecher
 
Аватар для Pecher

Регистрация: Jun 2005
Адрес: Bryansk
Сообщений: 73
Не берусь судить, но возможно скорости работы с битмапдата хватит для этой задачи...

P.S. Можно ещё поставить
Код:
autosize = true
для многострочного текстового поля. Тогда, наверное, будет браться height.
__________________
Flash can do it.


Последний раз редактировалось Pecher; 16.04.2008 в 13:21.
Старый 16.04.2008, 13:18
ulik вне форума Посмотреть профиль Отправить личное сообщение для ulik Посетить домашнюю страницу ulik Найти все сообщения от ulik
  № 7  
Ответить с цитированием
ulik
 
Аватар для ulik

Регистрация: Apr 2007
Адрес: Moscow city
Сообщений: 286
Отправить сообщение для ulik с помощью ICQ
alekslitvinenk >> а так чем вам не нравится?

Код:
import flash.text.TextFormat;
import flash.text.TextField;
import flash.display.Sprite;
import flash.geom.Rectangle;

var format:TextFormat=new TextFormat();
format.font="любой_шрифт";
format.size=20;

var tf:TextField=new TextField();
tf.defaultTextFormat=format;
tf.autoSize=TextFieldAutoSize.LEFT;
tf.htmlText="Hello world!";
addChild(tf);

var bound:Rectangle = tf.getCharBoundaries(0); // скажем, для 1-ой
var sp:Sprite=new Sprite();
sp.graphics.lineStyle(1,0xdd0000);
sp.graphics.moveTo(bound.x, bound.y);
sp.graphics.lineTo(bound.x+bound.width,bound.y);
sp.graphics.lineTo(bound.x+bound.width,bound.y+bound.height);
sp.graphics.lineTo(bound.x,bound.y+bound.height);
sp.graphics.lineTo(bound.x, bound.y);
addChild(sp);
Цитата:
Вобщем, есть текстовое поле его должна окружать рамка с маркерами для ресайзинга...
О: А, чем вас не устраивает TextFieldAutoSize?
Цитата:
...переводи текст на BitmapData...
О: Психи, ей богу ))
__________________
Дизайн, как презерватив - каждому жмет по-своему © Я
мое: блог форум


Последний раз редактировалось ulik; 16.04.2008 в 13:26.
Старый 16.04.2008, 13:29
Pecher вне форума Посмотреть профиль Отправить личное сообщение для Pecher Найти все сообщения от Pecher
  № 8  
Ответить с цитированием
Pecher
 
Аватар для Pecher

Регистрация: Jun 2005
Адрес: Bryansk
Сообщений: 73
Цитата:
Психи, ей богу ))
Ты наверно не прочитал, что это предложение - на крайний случай. Глаза раскрой.
__________________
Flash can do it.

Старый 16.04.2008, 13:31
alekslitvinenk вне форума Посмотреть профиль Отправить личное сообщение для alekslitvinenk Посетить домашнюю страницу alekslitvinenk Найти все сообщения от alekslitvinenk
  № 9  
Ответить с цитированием
alekslitvinenk
 
Аватар для alekslitvinenk

Регистрация: Oct 2005
Адрес: Москва
Сообщений: 491
Отправить сообщение для alekslitvinenk с помощью ICQ Отправить сообщение для alekslitvinenk с помощью AIM Отправить сообщение для alekslitvinenk с помощью Skype™
Цитата:
О: А, чем вас не устраивает TextFieldAutoSize?
Это не я так решил, это заказчику нужна возможность ресайзить текстовое поле с помощью маркеров...Причем, там куча ограничений: когда текстовое поле должно автоматически расти по ширине, а когда нет...
Если выставить autoSize, то слишком много вещей окажется сломано...

Старый 16.04.2008, 13:41
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 10  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Цитата:
Сообщение от Pecher
Глаза раскрой.
Не переходите на личности.

Создать новую тему Ответ Часовой пояс GMT +4, время: 10:58.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 10:58.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.