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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 23.09.2009, 12:15
Vasyaga вне форума Посмотреть профиль Отправить личное сообщение для Vasyaga Найти все сообщения от Vasyaga
  № 11  
Ответить с цитированием
Vasyaga

Регистрация: Feb 2009
Адрес: WS
Сообщений: 93
Ну, с битмапдатой слишком уж жестко К тому же ведь есть же getTextExtent. Только почему-то он некорректно работает...
Хочу попробовать такой вариант:
1. Построчно добавляю текст и снимаю метрики (getTextExtent) для каждой строки
2. Отслеживаю изменения высоты TextField и textHeight.
3. Смотрю на сколько они отличаются от суммы рассчитанных при помощи getTextExtent и прибавляю/отнимаю к/от текущей координаты.

Попробую и по результатам отпишусь. По-прежнему приветствую любые другие идеи. Должен ведь быть способ!

Добавлено через 4 минуты
Вдогонку к битмапдате - строка фактически может начинаться раньше, чем первый пиксел, поскольку ее высота зависит от шрифта. Например - текст содержит только строчные буквы и если я буду анализировать их, то координата уплывет вниз, т.к. по-настоящему y-координата строки будет находиться выше! (Надеюсь понятно объяснил)

Старый 23.09.2009, 13:26
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 12  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
Цитата:
(Надеюсь понятно объяснил)
Не понятно.
__________________
(и)Нильс.ru | Плагины для FlashDevelop

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

блогер
Регистрация: Jun 2005
Адрес: Господи пожалуйста не Новосибирск
Сообщений: 6,598
Записей в блоге: 17
Если я правильно понял, то
Код:
БАВГ
АБВГ
аБВГ
левый верхний пиксель только в 1 варианте будет залит, в остальных двух он будет пустой.

Старый 23.09.2009, 13:43
Vasyaga вне форума Посмотреть профиль Отправить личное сообщение для Vasyaga Найти все сообщения от Vasyaga
  № 14  
Ответить с цитированием
Vasyaga

Регистрация: Feb 2009
Адрес: WS
Сообщений: 93
Psycho Tiger - совершенно верно, только построчно, т.е. анализировать будем сверху-вниз:
Код:
аааа
АаАа
Если анализировать BitmapData этих двух строк, то высота первой будет меньше, хотя должна быть одинаковой.

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

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
Цитата:
Если анализировать BitmapData этих двух строк, то высота первой будет меньше,
Не будет. Вы должны анализировать не сам текст, а выделение текста. Как видите, высота черного блока и вверху и внизу 66 пикселей.
Изображения
 
__________________
(и)Нильс.ru | Плагины для FlashDevelop


Последний раз редактировалось iNils; 23.09.2009 в 15:13.
Старый 23.09.2009, 15:22
Vasyaga вне форума Посмотреть профиль Отправить личное сообщение для Vasyaga Найти все сообщения от Vasyaga
  № 16  
Ответить с цитированием
Vasyaga

Регистрация: Feb 2009
Адрес: WS
Сообщений: 93
Цитата:
Сообщение от iNils Посмотреть сообщение
Вы должны анализировать не сам текст, а выделение текста.
Отличная идея! Спасибо. Как-то не додумывался анализировать выделение. Возьму на заметку.

Старый 23.09.2009, 15:25
iNils вне форума Посмотреть профиль Отправить личное сообщение для iNils Посетить домашнюю страницу iNils Найти все сообщения от iNils
  № 17  
Ответить с цитированием
iNils
Негуру
 
Аватар для iNils

администратор
Регистрация: Jan 2000
Адрес: Кёнигсберг in Moscow
Сообщений: 21,879
Записей в блоге: 7
Я сразу об этом написал: "выделяете первый символ"
__________________
(и)Нильс.ru | Плагины для FlashDevelop

Старый 09.10.2009, 08:37
Vasyaga вне форума Посмотреть профиль Отправить личное сообщение для Vasyaga Найти все сообщения от Vasyaga
  № 18  
Ответить с цитированием
Vasyaga

Регистрация: Feb 2009
Адрес: WS
Сообщений: 93
iNils - благодарю за совет, всё заработало. В случае если стандартные методы получения метрик текста не помогают - действительно можно пользоваться BitmapData для попиксельного анализа.

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

Теги
TextMetrics , координаты , текст

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

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


 


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


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