root/platform/air/wasaco/src/imageWindow.mxml @ 19404

Revision 19404, 3.1 kB (checked in by kan, 6 years ago)

画像アップロード機能に対応した。PCのwebカメラから直接画像を送ることもできる

Line 
1<?xml version="1.0" encoding="utf-8"?>
2<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="318" height="300" >
3        <mx:Script>
4                <![CDATA[
5                        import mx.managers.PopUpManager;
6                        import mx.controls.Alert;
7
8                        public var target:wasaco ;
9                        public var camera_fg:Boolean = false;
10                        public var file:File = new File();
11                        public var loader:Loader = new Loader();
12                       
13                        private function init():void {
14                                var camera:Camera = Camera.getCamera();
15                               
16                                if (camera) {
17                                        camera_fg = true;
18                                        video.width = camera.width;
19                                        video.height = camera.height;
20                        video.attachCamera(camera);
21                            }
22
23                                loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loaderComplete);
24            }
25                       
26                        private function comment():void {
27                                if (srcTab.selectedIndex == 0) {
28                                        if (camera_fg) {
29                                                target.stat.text = stat.text;
30                                                var bmp:Bitmap = new Bitmap();
31                                                var bmpData:BitmapData = new BitmapData(video.width, video.height);
32                                                bmp.bitmapData = bmpData;
33                                                bmpData.draw(video);
34                                                target.statusUpdate(null, bmp);
35                                                PopUpManager.removePopUp(this);
36                                        } else {
37                                                Alert.show("カメラ情報を取得できません");
38                                        }
39                                } else {
40                                        if (path.text != "") {
41                                                loader.load(new URLRequest(path.text));
42                                        } else {
43                                                PopUpManager.removePopUp(this);
44                                        }
45                                }
46                        }
47
48                        private function loaderComplete(evt:Event):void {
49                                target.stat.text = stat.text;
50                                target.statusUpdate(null, loader.content);
51                                PopUpManager.removePopUp(this);
52                        };
53
54                        private function cancel():void {
55                                PopUpManager.removePopUp(this);
56                        }
57
58                        private function showPictWindow(evt:MouseEvent):void
59                        {
60                                var pict:pictWindow = pictWindow(
61                                        PopUpManager.createPopUp(this, pictWindow, true)
62                                );
63                                pict.load(stat);
64                                PopUpManager.centerPopUp(pict);
65                        }
66
67                        private function setPath():void
68                        {
69                                // open file
70                                var filter:FileFilter = new FileFilter("画像ファイル","*.*");
71                                file.addEventListener(Event.SELECT, onFileSelect);
72                                file.browseForOpen("画像ファイルの選択", [filter]);
73                        }
74       
75                        private function onFileSelect(evt:Event):void
76                        {
77                                path.text = file.nativePath;
78                        }
79                       
80                ]]>
81        </mx:Script>
82        <mx:Button x="10" y="38" label="Pictogram" width="96" click="showPictWindow(event);" icon="@Embed('assets/heart.png')"  fontSize="9"/>
83        <mx:Button x="114" y="38" label="Post" click="comment();" width="73" icon="@Embed('assets/comment_btn.png')" fontSize="9"/>
84        <mx:TextInput x="10" y="10" width="299" id="stat"/>
85        <mx:Button x="195" y="38" label="Cancel" click="cancel();" width="61" fontSize="9"/>
86        <mx:TabNavigator id="srcTab" x="10" y="68" width="299" height="221">
87                <mx:Canvas label="カメラ" width="100%" height="100%" creationComplete="init()">
88                        <mx:VideoDisplay id="video" x="10" y="10" width="277" height="168" />
89                </mx:Canvas>
90                <mx:Canvas label="ファイルアップロード" width="100%" height="100%">
91                        <mx:TextInput x="10" y="10" width="277" id="path" />
92                        <mx:Button x="10" y="40" label="参照" click="setPath()" />
93                </mx:Canvas>
94        </mx:TabNavigator>
95</mx:Canvas>
Note: See TracBrowser for help on using the browser.