Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   TLF + Embed картинки (http://www.flasher.ru/forum/showthread.php?t=139445)

BlooDHounD 04.05.2010 13:26

а чем мой способ не подходит?

dimarik 05.05.2010 00:48

Ты не предоставил тестов )

BlooDHounD 05.05.2010 02:13

dimarik, поиск по форуму рулит =)

etc 05.05.2010 08:10

С именем класса работает, просто в моих тестах в html не было ничего, кроме картинки, в результате она не отображалась никак.

†‡Paladin‡† 05.05.2010 16:10

Можно взглянуть на работающий пример? У меня не получилось.

Код AS3:

<img source="Main__embed_css____smiles_simple_png_1566675966"/>

UPD. Судя по исходникам TLF просто засунуть getQualifiedClassname в нод недостаточно. Нужно переопределить inlineGraphicResolverFunction в texfFlow, т.к. стандартный не распознает имена классов. Хотя туда мне лень было копать. Решилось отслеживанием error статуса и ручной заменой source у элемента.

UPD2 TextConverter имеет неосторожность принимать опциональный config при конвертировании. Там и можно подменить inlineGraphicResolverFunction

UPD3 Готово. Собственно сама функция
Код AS3:

                private function textFlowInlineGraphicResolverFunction(value:InlineGraphicElement):* {
                        var source:* = value.source;
 
                        var result:*;
 
                        if (source is String) {
                                if ((source as String).indexOf("http") > -1) {
                                        result = source;
                                } else {
                                        try {
                                                result = getDefinitionByName(source as String);
                                        } catch (error:Error) {
                                                result = source;
                                        }
                                }
                        } else {
                                result = source;
                        }
 
                        return result;
                }


s8000_1 07.05.2010 12:26

BlooDHounD, не удалось заставить работать :(

†‡Paladin‡†, с inlineGraphicResolverFunction, пожалуй, способ получше, чем ручная замена source у всех вложенных элементов

†‡Paladin‡† 07.05.2010 12:53

Цитата:

Сообщение от s8000_1 (Сообщение 906554)
†‡Paladin‡†, с inlineGraphicResolverFunction, пожалуй, способ получше, чем ручная замена source у всех вложенных элементов

Ну оно в принципе и получается ручная замена. Однако по производительности он на голову бьет замену пост-фактум, особенного когда textFlow встраивается в резиновый layout.

s8000_1 07.05.2010 14:26

†‡Paladin‡†, не сказал бы, по крайней мере для Flex4. Layout'ы там просчитываются 1 раз, поэтому пробегаться и менять source по вложенным элементам можно сколько угодно раз. Другой вопрос, что одним циклом меньше.


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

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