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

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

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

Регистрация: Jul 2008
Адрес: Smolensk
Сообщений: 124
Отправить сообщение для xpymbl4 с помощью ICQ Отправить сообщение для xpymbl4 с помощью Skype™
По умолчанию ByteArray фотографии для публикации на стене

Использую класс, представленный здесь:
http://code.google.com/p/v-kontakte/...ostUploader.as
В метод upload передается параметр photo.
Моя задача - загружать в photo мувиклип (_mc), лежайщий на сцене.
Делаю так:
Код AS3:
var bitmap:BitmapData = new BitmapData (_mc.width, _mc.height);
bitmap.draw(_mc);
var pngEncoder:PNGEncoder = new PNGEncoder();			
photo = pngEncoder.encode(bitmap);
И в результате загрузки сервер отдает callback.photo только в том случае, если в _mc нет ничего кроме простого заполненного Shape. Если в _mc много всяких объектов + например jpeg картинка, то уже не работает.
Подскажите пожалуйста, как вы формируете из мувиклипа красивую качественную картинку, отправляемую на стену.
__________________
круглое тащим, квадратное катим

Старый 23.04.2010, 16:06
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 2  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
То, что у вас в битмап отрисовывается, то и должно отправляться, т.е. проверьте, что именно рисуется. Премудростей тут, вроде как, никаких нету.

Старый 23.04.2010, 16:37
Mur4ik вне форума Посмотреть профиль Отправить личное сообщение для Mur4ik Найти все сообщения от Mur4ik
  № 3  
Ответить с цитированием
Mur4ik
ветеран форума

Регистрация: Sep 2008
Сообщений: 717
Записей в блоге: 4
Отправить сообщение для Mur4ik с помощью ICQ
Может проблема в использовании PNGEncoder, если используете класс от адоба, то encode это статический метод и экземпляр класса создавать для этого не нужно. Т.е достаточно написать
Код AS3:
photo = PNGEncoder.encode(bitmap);
__________________
trace("Остановите Землю, я сойду!!!");

Старый 23.04.2010, 17:22
xpymbl4 вне форума Посмотреть профиль Отправить личное сообщение для xpymbl4 Найти все сообщения от xpymbl4
  № 4  
Ответить с цитированием
xpymbl4
 
Аватар для xpymbl4

Регистрация: Jul 2008
Адрес: Smolensk
Сообщений: 124
Отправить сообщение для xpymbl4 с помощью ICQ Отправить сообщение для xpymbl4 с помощью Skype™
_mc содержит подгруженное изображение.
Не работает draw.
Читаю форум. Ищу ответ. Спасибо

Добавлено через 25 минут
Может кто уже формировал картинку из мувиклипа, в котором содержится подгруженное изображение?
Доступа к файлу политики, откуда грузится изображение - нет.
Существует ли выход из сложившейся ситуации?
__________________
круглое тащим, квадратное катим

Старый 23.04.2010, 21:35
Mur4ik вне форума Посмотреть профиль Отправить личное сообщение для Mur4ik Найти все сообщения от Mur4ik
  № 5  
Ответить с цитированием
Mur4ik
ветеран форума

Регистрация: Sep 2008
Сообщений: 717
Записей в блоге: 4
Отправить сообщение для Mur4ik с помощью ICQ
Существует.

Абстрактный пример
Код AS3:
package
{
	import flash.display.Bitmap;
	import flash.display.BitmapData;
	import flash.display.Loader;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.net.URLRequest;
	import flash.system.ApplicationDomain;
	import flash.system.LoaderContext;
 
	public class FuckCrossDomain extends Sprite
	{
		private var _loader:Loader;
 
		public function FuckCrossDomain() 
		{
			if (stage) initInstance(null);
			else addEventListener(Event.ADDED_TO_STAGE, initInstance);
		}
 
		private function initInstance(event:Event):void
		{
			_loader = new Loader();
			_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loader_completeHandler);
 
			_loader.load( new URLRequest("http://ссылка/на/картинку.jpg") );
		}
 
		private function loader_completeHandler(event:Event):void 
		{
			_loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, loader_completeHandler);
 
			_loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loader_loadBytesCompleteHandler);
			_loader.loadBytes(_loader.contentLoaderInfo.bytes, new LoaderContext(false, ApplicationDomain.currentDomain));
		}
 
		private function loader_loadBytesCompleteHandler(event:Event):void 
		{
			_loader.contentLoaderInfo.removeEventListener(Event.COMPLETE, loader_loadBytesCompleteHandler);
 
			// и вот туту уже можно с _loader или _loader.content рисовать в битмапдату без 
 
			var bmd:BitmapData = new BitmapData(_loader.width, _loader.height, true, 0);
			bmd.draw(_loader.content);
 
			addChild( new Bitmap(bmd) );
		}
	}
}
__________________
trace("Остановите Землю, я сойду!!!");

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

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

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


 


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


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