Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   как узнать размер шрифта.. если известна длинна текста (http://www.flasher.ru/forum/showthread.php?t=90966)

StrangeMan 22.01.2007 01:53

как узнать размер шрифта.. если известна длинна текста
 
У меня вот такая проблемка.. не знаю как её решить...

есть текстовое поле.... есть текст .. который я подгружаюю.. каждый раз он разной длинны. Как можно расчитаь размер шрифта этого текста чтобы он влезал в это текстовое поле. И ещё .. я что то не могу ни как придумать .. как этот текст сделать выравненым по центру но не только горизонтально а и вертикально...

заранее всем спасибо...

iNils 22.01.2007 02:51

http://www.flasher.ru/forum/showthread.php?t=90813

StrangeMan 22.01.2007 03:06

спасибо.. но чт о то не работает...ю я от туда вытащил фунгкцию... и вставил к сбеб тест вставляется в поле но не изменяются размеры

iNils 22.01.2007 03:20

1. Кроме точки, есть такое понятие как запятая. Многоточие не в тему.
2. Перед тем как постить, прочтите то, что вы написали. Тогда число таких вещей как "чт о то" и "к сбеб" уменьшится.
3.
Цитата:

Сообщение от StrangeMan
спасибо.. но чт о то не работает...ю я от туда вытащил фунгкцию... и вставил к сбеб тест вставляется в поле но не изменяются размеры

И что вы от меня хотите? Я не ваш сосед, чтобы заскочить посмотреть на экран и сказать почему у вас не работает. Я сижу совсем в друг месте и не имею понятию о том, что и как вы там сделали.

StrangeMan 22.01.2007 03:29

Код:

function setTextAndValign (txt:TextField, str:String) {
        txt.htmlText = "<br>" + str + "<br><br>";
       
        sl_0.leading = (txt._height - txt.textHeight) / 2;
       
        txt.setTextFormat (0, 1, sl_0);
        trace(sl_0.size);
};

t_sl.t.text=xml_text.firstChild.childNodes[_root[("k_"+_root.g_i)+_root.g_k]._yr].childNodes[0];
                                //t_sl.t.setTextFormat(sl_0);
                                sl_0.align = "center";
                                sl_0.bold = true;
                                t_sl.t.setNewTextFormat (fmtA);
                                t_sl.t.border = true;
                                t_sl.t.html = true;
                                t_sl.t.multiline = true;

                               
                                setTextAndValign(t_sl.t,t_sl.t.text);

- это кусок из кода, поле созданно вручную

если поможете буду очень вам благодарен.

Прошу извенить меня. всё работает. текст выравнивается посередине, мне бы хотелось узнать как расчитаь размер шрифта.. если поле у меня создано вручную, а текст подгружается

StrangeMan 22.01.2007 04:01

можно хотяб исходник какойнить.. а то мне срочно надо:)

KLieriK 22.01.2007 04:06

Цитата:

Сообщение от StrangeMan
можно хотяб исходник какойнить.. а то мне срочно надо:)

нехочу показать грубым, но если срочно
то вам сюда -> Вакансии
За вас тут работу делать не будут. а вот помочь в ее решении здесь редко остаеться без ответа. ;)

iNils 22.01.2007 04:28

Цитата:

Сообщение от StrangeMan
Код:

function setTextAndValign (txt:TextField, str:String) {
        txt.htmlText = "<br>" + str + "<br><br>";
       
        sl_0.leading = (txt._height - txt.textHeight) / 2;
       
        txt.setTextFormat (0, 1, sl_0);
        trace(sl_0.size);
};

t_sl.t.text=xml_text.firstChild.childNodes[_root[("k_"+_root.g_i)+_root.g_k]._yr].childNodes[0];
                                //t_sl.t.setTextFormat(sl_0);
                                sl_0.align = "center";
                                sl_0.bold = true;
                                t_sl.t.setNewTextFormat (fmtA);
                                t_sl.t.border = true;
                                t_sl.t.html = true;
                                t_sl.t.multiline = true;

                               
                                setTextAndValign(t_sl.t,t_sl.t.text);

- это кусок из кода, поле созданно вручную

если поможете буду очень вам благодарен.

Прошу извенить меня. всё работает. текст выравнивается посередине, мне бы хотелось узнать как расчитаь размер шрифта.. если поле у меня создано вручную, а текст подгружается

А что такое sl_0?

StrangeMan 22.01.2007 08:47

sl_0 -это стиль текста...
Код:

var sl_0:TextFormat = new TextFormat(null, null, 0x0000FF, true);
- этой строчкой я создаю стиль

Просто искренне не могу понять из чего вычислить размер шрифта. Ана форуме я ни чего через поиск не нашёл:(

iNils 22.01.2007 09:50

1. В моей функции создавался необходимый стиль, который влиял ТОЛЬКО на сдвиг текста по вертикали. Зачем вы его удалили?
2. В своем примере вы не где стиль не описываете и не берете его от какого либо другого текста. Поэтому размер шрифта вы не узнаете.


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

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