LoadImage ローカルファイルの読み込みって やったこと無かったので試した。 umhr forked:2favorite:1lines:65license : MIT License modified : 2010-01-04 03:01:42 Embed Tweet /* ローカルファイルの読み込みって やったこと無かったので試した。 */ package { import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; import flash.text.TextField; import flash.text.TextFormat; [SWF(backgroundColor="0x777777",width=465,height=465)] public class Main extends Sprite { public function Main() { var tf:TextField = new TextField(); tf.defaultTextFormat = new TextFormat("_sans",36,0xCCCCCC); tf.text = "Stage上をクリックするとダイアログが開きます。\n画像ファイル(PNG,JPG,GIF)を指定してください。"; tf.wordWrap = true; tf.multiline = true; tf.width = stage.stageWidth; tf.autoSize = "left"; tf.selectable = false; this.addChild(tf) stage.addEventListener(MouseEvent.CLICK,atClick); } private function atClick(event:MouseEvent):void{ var loadFile:LoadFile = new LoadFile(); loadFile.atComplete = atComplete; loadFile.Start(); } private function atComplete(event:Event):void{ this.addChild(event.target.content); } } } import flash.display.Loader; import flash.events.Event; import flash.net.FileReference; import flash.system.LoaderContext; class LoadFile{ private var _fileReference:FileReference; public var atComplete:Function = function(event:Event):void{}; /** * 開始 * */ public function Start():void { if(_fileReference){ return; } _fileReference = new FileReference(); _fileReference.browse(); _fileReference.addEventListener(Event.SELECT,atSelect); } /** * ファイルの選択が完了すると動く * @param event * */ private function atSelect(event:Event):void{ _fileReference.removeEventListener(Event.SELECT,atSelect); _fileReference.addEventListener(Event.COMPLETE,atFileComplete); _fileReference.load(); } /** * 選択したファイルを読み込み完了すると動く * @param event * */ private function atFileComplete(event:Event):void{ _fileReference.removeEventListener(Event.COMPLETE,atFileComplete); var loader:Loader = new Loader(); loader.loadBytes(event.target.data,new LoaderContext()); loader.contentLoaderInfo.addEventListener(Event.COMPLETE,atBytesComplete); } /** * 読み込んだファイルのバイトアレイを変換完了で動く * @param event * */ private function atBytesComplete(event:Event):void{ event.target.removeEventListener(Event.COMPLETE,atBytesComplete); atComplete(event); } } Code Fullscreen Preview Fullscreen makishima Event.COMPLETE Event.SELECT FileReference removeEventListener browse data loadBytes addChild width content LoaderContext Event Loader multiline load addEventListener TextFormat text sort new page view favorite forked pv0 forked from: LoadImage hacker_s46yqgnm forked:0 favorite:0lines:65 (diff:1) pv279 forked from: LoadImage umhr forked:0 favorite:0lines:81 (diff:26)