Я закодировал изображение в ByteArray. Как преобразовать его в растровое изображение из этого ByteArray? Спасибо. UliAS3 - ByteArray для bitmap
ответ
Каков формат вашего ByteArray
? Если пиксели находятся в 32-битном формате ARGB, вы можете создать новый объект BitmapData
и установить пиксели с помощью BitmapData.setPixels()
. Затем просто назначьте растровые данные растровому объекту.
Если они не находятся в 32-разрядном формате ARGB, вам, вероятно, потребуется сначала их преобразовать.
Использование загрузчика
import flash.display.Loader;
import flash.display.LoaderInfo;
import flash.events.Event;
import flash.display.BitmapData;
private function startLoad():void
{
var loader:Loader = new Loader();
loader.loadBytes(byteArray);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderComplete);
}
private function loaderComplete(event:Event):void
{
var loaderInfo:LoaderInfo = LoaderInfo(event.target);
var bitmapData:BitmapData = new BitmapData(loaderInfo.width, loaderInfo.height, false, 0xFFFFFF);
bitmapData.draw(loaderInfo.loader);
// result: bitmapData
}
Я пробовал свой код и все сохраненные с ним изображения недопустимы. Я добавил этот код ниже _draw_, чтобы сохранить изображение на диске: 'this.fileReference = new FileReference(); this.fileReference.save (bitmapData, "test.jpg"); Любые идеи, почему изображения недействительны? ' – Uli
Я сделал это испытание, ниже которого работает хорошо. Он преобразует Bytearray в Bitmap. Формат изображения не имеет значения. png, jpg, gif все сохраняют свой формат в метаданных, которые класс bitmapdata будет интерпретировать для вас. При сохранении следует использовать JPEGEncoder или PNGEncoder.
import mx.events.FlexEvent;
public var _file:File;
public var _stream:FileStream;
public var _load:Loader;
protected function init(event:FlexEvent):void {
_file = File.desktopDirectory;
_file.addEventListener(Event.SELECT, selectComplete);
_file.browseForOpen('Image');
}
private function selectComplete(event:Event):void {
_stream = new FileStream();
_stream.addEventListener(Event.COMPLETE, loadComplete);
_stream.openAsync(_file, FileMode.READ);
}
private function loadComplete(event:Event):void {
var ba:ByteArray = new ByteArray();
_stream.readBytes(ba);
_load = new Loader();
_load.contentLoaderInfo.addEventListener(Event.COMPLETE, loadbytesComplete);
_load.loadBytes(ba);
}
private function loadbytesComplete(event:Event):void {
var bit:Bitmap = _load.content as Bitmap;
img.source = bit;
}
этот класс может помочь вам: http://code.google.com/p/as3asclublib/source/browse/trunk/display/image/PNGDecoder.as?spec=svn123&r=123
[Bindable]
private static var m_barrLogo:ByteArray;
.
.
.
private function init_m_barrLogo():void
{
m_barrLogo = someValue;
// The Image below will automatically read the new value of the ByteArray and
// display the appropriate image.
}
.
.
.
<mx:Image source="{m_barrLogo}" y="10" x="10" scaleContent="true" height="140"
width="145"/>
- 1. AS3 Преобразование ByteArray в Bitmap
- 2. AS3 BitmapData to byteArray
- 3. AS3 ByteArray в C# ByteArray
- 4. Преобразование bitmap в byteArray android
- 5. Bitmap в ByteArray, без компресса
- 6. ByteArray to Bitmap дает null
- 7. AS3, получающий netstream.send ByteArray
- 8. AS3 bytearray in C#
- 9. AS3 Tint Bitmap
- 10. Bitmap hittesting в AS3
- 11. Преобразование Bitmap в ByteArray и обратно в Bitmap не работает
- 12. POSTING ByteArray данных из AS3 в PHP
- 13. AS3 - e: Event и byteArray
- 14. As3 и Image ByteArray Данные
- 15. AS3 Bytearray в читаемом формате
- 16. Android Studio -Covert bitmap to byteArray
- 17. as3 cache как bitmap прослушиватель?
- 18. AS3: проблема сглаживания звуковых данных ByteArray
- 19. AS3: Как показывать процент загрузки ByteArray?
- 20. ByteArray проходят через JS и AS3
- 21. Последовательные звуки в ByteArray плавно - flash, as3
- 22. Получить ByteArray из BitmapData в AS3
- 23. encode Bytearray to mp3 using as3
- 24. Воспроизведение звука из bytearray в as3
- 25. AS3 URLLoader + ByteArray vs Класс загрузчика для загрузки изображений
- 26. AS3 Bitmap черно-белый - по соображениям сжатия
- 27. Как преобразовать Bitmap в ByteArray без использования сжатия?
- 28. Возможно ли зашифровать bytearray/bitmap до определенного размера?
- 29. ActionScript 3.0: Как преобразовать JPEG-кодированный ByteArray в Bitmap
- 30. Bitmap to byte [] to Bitmap без сжатия
Интересно. Как узнать, какой формат имеет мой ByteArray? (ByteArray - это изображение и содержит также информацию метаданных) – Uli
Также отредактируйте свой вопрос, чтобы включить то, что ваша цель более высокого уровня, похоже, что вы делаете что-то более сложное, чем вам нужно, чтобы загрузить эти изображения. – shaunhusain
Формат файла изображения - JPEG. Моя цель более высокого уровня - взять ByteArray и сохранить его в разных размерах на жесткий диск в формате JPEG. – Uli