Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.11.2006, 18:37
yana_flash вне форума Посмотреть профиль Отправить личное сообщение для yana_flash Найти все сообщения от yana_flash
  № 1  
Ответить с цитированием
yana_flash

Регистрация: Oct 2003
Сообщений: 74
По умолчанию Создание картинки из массива байтов

Можно ли на флэше (AS3) стандартными методами решить следующую задачу? Флэш-клиент через сокет-соединение получает в виде набора байтов картинку в формате jpg/png. Могу ли я, приняв массив байтов, создать из него собственно картинку?

Старый 21.11.2006, 19:18
etc вне форума Посмотреть профиль Найти все сообщения от etc
  № 2  
Ответить с цитированием
etc
Et cetera
 
Аватар для etc

Регистрация: Sep 2002
Сообщений: 30,787
Да, можно.

Старый 22.11.2006, 07:00
john вне форума Посмотреть профиль Отправить личное сообщение для john Посетить домашнюю страницу john Найти все сообщения от john
  № 3  
Ответить с цитированием
john
МЕГАФЛЭШЕР

Регистрация: May 1999
Адрес: Россия, Москва
Сообщений: 1,181
погляди flash.display.Loader там есть метод loadBytes(byteArray:ByteArray)
далее создаем
flash.display.Bitmap(loader.content) и радуемся
сам не пробовал, но из хелпа это следует....

Старый 22.11.2006, 07:09
john вне форума Посмотреть профиль Отправить личное сообщение для john Посетить домашнюю страницу john Найти все сообщения от john
  № 4  
Ответить с цитированием
john
МЕГАФЛЭШЕР

Регистрация: May 1999
Адрес: Россия, Москва
Сообщений: 1,181
о, я напутал, не из массива, а в массив..
ну тогда BitmapData.setPixels(rect:Rectangle, inputByteArray:ByteArray):void
но тогда нужно знать размер картинки, как я понимаю.
в общем BitmapData, Bitmap и Loader если грузить постом..... если нет, то через ByteArray сначала создать BitmapData а далее ее превращать в Bitmap

Старый 22.11.2006, 13:46
MerlinTwi вне форума Посмотреть профиль Отправить личное сообщение для MerlinTwi Посетить домашнюю страницу MerlinTwi Найти все сообщения от MerlinTwi
  № 5  
Ответить с цитированием
MerlinTwi
 
Аватар для MerlinTwi

Регистрация: Oct 2003
Адрес: Москва
Сообщений: 328
Типа так:
Код:
package {
	import flash.display.*;
	import flash.net.*;
	import flash.events.*;
	import flash.utils.*;
	
    public class Test extends Sprite {
		
        public function Test(){
			// Получаем файл jpg-картинки в виде байтов
			var loader:URLLoader;
			loader = new URLLoader( new URLRequest("image.jpg") );
			loader.dataFormat = URLLoaderDataFormat.BINARY;
			loader.addEventListener(IOErrorEvent.IO_ERROR, loadError);
			loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, loadError);
			loader.addEventListener(Event.COMPLETE, loadComplete);
        }
		
		protected function loadComplete(event:Event):void {
			var loader:URLLoader = event.currentTarget as URLLoader;
			trace("Скачано "+Math.round(uint(loader.bytesLoaded)/1024)+"кб.");
			// содержимое в байтах
			var b:ByteArray = loader.data;
			// превращаем в картинку
			var img:Loader = new Loader();
			img.loadBytes(b);
			// добавляем картику на сцену
			addChild(img);
		}
		protected function loadError(event:ErrorEvent):void {
			trace("loadError. "+event);
		}
		
    }
}
Здесь я картинку считал из файла, в вашем случае ByteArray придет по сокету.
__________________
Создатель: Бойцовский клуб | TimeZero | Sky2Fly
Я возьму сам.

Старый 22.11.2006, 14:37
yana_flash вне форума Посмотреть профиль Отправить личное сообщение для yana_flash Найти все сообщения от yana_flash
  № 6  
Ответить с цитированием
yana_flash

Регистрация: Oct 2003
Сообщений: 74
Большое спасибо за пример кода!

Создать новую тему Ответ Часовой пояс GMT +4, время: 00:44.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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