Сфотать определённую облость и загрузить на стенку!

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в Flash-приложениях (ActionScript)
Ответить
Маршинин
Сообщения: 9
Зарегистрирован: 06 май 2012, 05:59

Сфотать определённую облость и загрузить на стенку!

Сообщение Маршинин »

Вроде бы нашёл, но либ подходящих нет! У кого есть поделитесь исходниками!

Код: Выделить всё

     import flash.display.Sprite;    import flash.display.MovieClip;    import flash.display.Loader;    import flash.net.FileReference;    import flash.utils.ByteArray;    import flash.net.*;       import com.adobe.images.*;    import com.adobe.serialization.json.JSON;    import vk.APIConnection;    import vk.events.*;    import MultipartData;    import PNGEncoder;     var image:BitmapData;// Создаем пустой контейнер под изображение    var box:Sprite = new Sprite();        stage.addChild(box);// Из библиотеки загружаем movieclip    var mc:moviec = new moviec();       var mcc = box.addChild(mc); // Делаем снимок содержимого контейнера box    var layout:BitmapData = new BitmapData(stage.width,stage.height);        layout.draw(mcc);           var bm:Bitmap = new Bitmap(layout);    var bd = this.addChild(bm);        bd.x = 200;        bd.y = 100;        bd.visible = false;// Делаем невидимым контейнер box        mcc.visible = false;// Конвертируем bitmap         var ba:ByteArray = PNGEncoder.encode(layout);       var flashVars:Object = stage.loaderInfo.parameters as Object;    // присваиваем переменным значения из flashVars    var api_id = flashVars['api_id'];    var viewer_id = flashVars['viewer_id'];    var sid = flashVars['sid'];    var secret = flashVars['secret'];          var result_tf:TextField = new TextField();        result_tf.autoSize=TextFieldAutoSize.LEFT;        result_tf.x=10;        result_tf.y=10;        addChild(result_tf);     // инициализация    var VK:APIConnection = new APIConnection(flashVars);              VK.api('photos.getWallUploadServer', { uid: flashVars['viewer_id'] }, getWallUploadServer, onError);               function getWallUploadServer(obj:Object):void {             var _loader:URLLoader = new URLLoader();            var _request:URLRequest = new URLRequest(obj.upload_url);            _request.method = URLRequestMethod.POST;            _request.requestHeaders.push(new URLRequestHeader("Content-type", "multipart/form-data; boundary=" + MultipartData.BOUNDARY));            var _data:MultipartData = new MultipartData();            _data.addFile(PNGEncoder.encode(layout), "photo");            _request.data=_data.data;            _loader.addEventListener(Event.COMPLETE, imageLoaded);            _loader.load(_request);        }        // Загружает файл на сервер        function imageLoaded(e:Event):void        {            var _obj:Object = JSON.decode(e.target.data);            VK.api('photos.saveWallPhoto', {server:_obj.server, photo:_obj.photo, hash:_obj.hash}, imageSaved, onError);        }        // Берет файл с сервера и размещает на стене        function imageSaved(obj:Object):void        {            VK.api('wall.post', { message: 'Текст к картинке', owner_id: obj[0]['owner_id'], attachment: obj[0]['id'] }, function(){}, onError);                 }         // если произошла ошибка        function onError(data: Object):void        {          result_tf.appendText("error: " + data.error_msg + '\n');        }     
Ответить