Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   Class и ByteArray (http://www.flasher.ru/forum/showthread.php?t=148335)

zorexundra 28.12.2010 10:51

Class и ByteArray
 
Есть встроенная картинка в переменной типа Class. Как преобразовать Class в ByteArray и обратно?
Тобишь как из картинки получить её данные, а из данных - картинку?

alatar 28.12.2010 11:03

Создать экземпляр, достать из него BitmapData. С этим BitmapData штамповать новые экземпляры. Зачем ByteArray?

zorexundra 28.12.2010 11:30

alatar, ситуация такая:
ByteArray картинки получаем из FileReference.data, а отобразить картинку нужно в mx.controls.TileList
TileList не воспринимает ни ByteArray, ни BitmapData. Пользовательский itemRenderer TileList на основе flash.display.Loader выглядит плохо: становится видно, как загружается картинка. Проявляется при скроллировании TileList: картинки "моргают". Нужно, чтобы TileList выглядел также, как и при использовании встраиваемых ресурсов.

alatar 28.12.2010 11:53

Пропустить ByteArray через Loader#loadBytes или декодировать с помощью JPEGdecoder / PNGdecoder коих понаписано уже довольно много. Например тут.

zorexundra 28.12.2010 13:27

alatar, вышеуказанной проблемы компрессия не решает. Всё равно на глаз видно, как ByteArray грузится в Loader.

alatar 28.12.2010 13:34

Это особенность TileList, он повторно использует itemRenderer.
Цитата:

вышеуказанной проблемы компрессия не решает.
Где вы компрессию увидели? Речь идет как раз о "декомпресии". Смысл был подсунуть в рендерер готовый результат. В качестве itemRenderer, естественно должен быть не Image.

zorexundra 28.12.2010 13:45

alatar, сжата картинка, или нет - для Loader.loadBytes (а именно Loader я пробую использовать в itemRenderer для отображения картинки) значения не имеет. В одном случае байт меньше, в другом больше. Никаких дополнительных преобразований Loader не делает. Что означает "готовый результат"?

iflamberg 28.12.2010 14:23

А. Кажется я понял о чём вы. Когда скролите вверх-вниз - изображение моргает, так? Кажется я находил чей-то класс для решения этой проблемы, ммм... как он назывался, посмотрите SuperImage. Может поможет, хотя он преднозначен наоборот для загрузки внешних изображений.

alatar 28.12.2010 14:47

Цитата:

Никаких дополнительных преобразований Loader не делает.
Вы ошибаетесь.
Цитата:

Что означает "готовый результат"?
loader.content

zorexundra 28.12.2010 15:55

iflamberg, я новичок во Flex и подобный пример тяжёл для меня в понимании.
alatar, попробую "впихнуть" loader.content в TileList. О результате отпишусь.


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

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