Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Загрузка картинки через ByteArray (http://www.flasher.ru/forum/showthread.php?t=145353)

Himerets 05.10.2010 16:59

Загрузка картинки через ByteArray
 
Всем привет :)
Есть байт-код картинки и нужно с помощью него загрузить данные в Bitmap
Как это сделать?

-De- 05.10.2010 17:04

http://www.adobe.com/livedocs/flash/...oadBytes%28%29
?

Himerets 05.10.2010 17:22

Вот эту штуку я попробовал, но че-то не отображается ничего

Вот код:

Код AS3:

dataLayer = new Loader();
dataLayer.loadBytes(bytes);
addChild(dataLayer);

Возможно здесь чего-то не хватает?

Добавлено через 5 минут
байт-код представляет из себя PNG-картинку, часть которой залита белым цветом с прозрачностью = 0.65, часть полностью прозрачна
естественно, подкладываю цветной фон
может у Loader'a есть какие-то проблемы с отображением полупрозрачный пикселей или че-то типа того?

Добавлено через 7 минут
Родительский класс - UIComponent
Могут ли возникнуть проблемы с отображением Loader'a на UIComponent'e?

-De- 05.10.2010 17:41

Этот самый код работает. Вопрос - что такое байткод картинки =)
UPD: ага, он самый

Himerets 05.10.2010 17:42

Это грубо говоря то, что мы видим при открытии PNG блокнотом

Hidest 05.10.2010 18:51

Это когда же это блокнот показывал вам байткод-то (а если быть точнее, то ByteArray)???

Пример на произвольной png картинке:

1. Открываем блокнотом

Код:

‰PNG 
IHDR  Ф  ¬  [Г;u  tEXtSoftware Adobe ImageReadyqЙe< IDATxЪмЅЛЇeY¶Ю5ї€ѕ®М€И€sNDє]Я-$hBѓ.’ЭABьX¦A“FР@4и :ю ђ0Ш4Ь°е¶Ѓ®e@!Д}XHTе32#2Уvњs>ОzМ9ЗшЖkпИєuќuлмRUEмX{=жљsМсь
4щьзыя+шщwяЕ?щь»еЏїьоgwwwчЯвюїlЦcАеoЫЧhЩ§ЛщwэК¶џ?ћѓц*p*х~ёЭ€ец{ —ЩМыгЂф&Ж_чSf·ђ?+дЮ™\ёzДl¬–?уkи9ыџQ]4Кд>P<О8#М±ЫЌdЏ‘?ѓь ЬiЦs‡ч©·ы2Ъ‰з;хћьПСж=0y=зЬж—Л9Jт.дэr:њс Й№ТW¶Џ
1VзшW$cКэ_°S.ГГхњ
Tх(8шi№ЦµIyЋкЅ°1цњV&њ\+Р‰€9

2. Открываем hex редактором:

Код:

Offset      0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F
00000000  89 50 4E 47 0D 0A 1A 0A  00 00 00 0D 49 48 44 52  ‰PNG........IHDR
00000010  00 00 02 D4 00 00 00 AC  08 06 00 00 00 5B C3 3B  ...Ô...¬.....[Ã;
00000020  75 00 00 00 19 74 45 58  74 53 6F 66 74 77 61 72  u....tEXtSoftwar
00000030  65 00 41 64 6F 62 65 20  49 6D 61 67 65 52 65 61  e.Adobe ImageRea
00000040  64 79 71 C9 65 3C 00 01  08 19 49 44 41 54 78 DA  dyqÉe<....IDATxÚ
00000050  EC BD CB AF 65 59 B6 DE  35 BF 88 13 BE AE CC 88  ì½Ë¯eY¶Þ5¿ˆ.¾®Ìˆ
00000060  C8 88 73 4E 44 16 BA 17  5D DF 16 2D 24 68 42 83  ȈsND.º.]ß.-$hBƒ

Чувствуется разница?

Himerets 05.10.2010 18:59

Сразу после того, как я засунул его содержимое в XML, загрузил его из приложения, и загрузил посимвольно в new ByteArray()
Только я еще через Base64 пропустил содержимое туда-сюда

Hidest 05.10.2010 19:02

Тогда возможно что-то и побилось по пути, сравните, что было до, что после преобразования. Попробуйте побайтно проверить так же.

Himerets 05.10.2010 19:22

ну я сравнивал, бегло правда, каждый байт проверять совсем муторно
и еще попробовал руками искаверкать код - приложение выдало ошибку, то есть скорее всего с этим моментом все ок

Psycho Tiger 05.10.2010 19:26

Hidest, ну э... блокнот по сути отображает то же, что и HEX-редактор, только в весьма специфичном ему виде - фактически делая fromCharCode для каждого байта (или пары байт).


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

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