Forked from: Kazutaka's FileReferenceViewLocalImg diff:123 forked from: FileReferenceViewLocalImg Main メインクラス. kazy forked:1favorite:0lines:83license : All rights reserved modified : 2009-07-08 23:00:02 Embed Tweet package { import flash.display.Sprite; import flash.display.Shape; import flash.display.Loader; import flash.display.Bitmap; import flash.text.TextField; import flash.net.FileReference; import flash.net.URLLoader; import flash.events.Event; import flash.events.MouseEvent; /** * Main * メインクラス. */ public class Main extends Sprite { private var btnSprite:Sprite; private var imgSprite:Sprite; private var localFile:FileReference; private const imgMax:Number = 480; /** * コンストラクタ. */ function Main() { init(); } /** * 初期設定. */ private function init():void { //ボタン背景 var btnShape:Shape = new Shape(); btnShape.graphics.beginFill(0xffffff); btnShape.graphics.lineStyle(2); btnShape.graphics.drawRect(0, 0, 50, 20); btnShape.graphics.endFill(); btnShape.x = btnShape.y = 5; //ボタンテキスト var btnText:TextField = new TextField(); btnText.appendText("LOAD"); btnText.x = 10; btnText.y =5; btnText.selectable = false; btnText.mouseEnabled = false; //ボタン btnSprite = new Sprite(); btnSprite.addChild(btnShape); btnSprite.addChild(btnText); addChild(btnSprite); btnSprite.addEventListener(MouseEvent.CLICK, fileBrowse); btnSprite.addEventListener(MouseEvent.ROLL_OVER,btnOverFunc); btnSprite.addEventListener(MouseEvent.ROLL_OUT,btnOutFunc); btnSprite.buttonMode = true; //読み込み画像格納用 imgSprite = new Sprite(); //ローカルファイルアクセス localFile = new FileReference(); localFile.addEventListener(Event.SELECT ,fileSelect); localFile.addEventListener(Event.COMPLETE,loadComplete); } /** * ボタンマウスオーバー. */ private function btnOverFunc(evt:Event):void { evt.currentTarget.alpha = 0.5; } /** * ボタンマウスアウト. */ private function btnOutFunc(evt:Event):void { evt.currentTarget.alpha = 1; } /** * ローカルファイルをブラウズ. */ private function fileBrowse(evt:Event):void { localFile.browse(); } /** * ファイル選択. */ private function fileSelect( evt:Event ):void { localFile.load(); } /** * 読み込み完了. */ private function loadComplete(evt:Event):void { var imgLoader:Loader = new Loader(); imgLoader.loadBytes(localFile.data); imgLoader.contentLoaderInfo.addEventListener(Event.INIT, initLoaded); } /** * 読み込み. */ private function initLoaded(evt:Event):void { var bmp:Bitmap = Bitmap(evt.target.content); if (evt.target.content) { var bmp:Bitmap = Bitmap(evt.target.content); bmp.y = 50; if ((bmp.width >imgMax)||(bmp.height >imgMax)) { if (bmp.width > bmp.height) { var wRatio:Number = imgMax / bmp.width; bmp.width = imgMax; bmp.height *= wRatio; } else { var hRatio:Number = imgMax / bmp.height; bmp.height = imgMax; bmp.height *= hRatio; } } imgSprite.addChild(bmp); addChild(imgSprite); } } } } Code Fullscreen Preview Fullscreen height width alpha data MouseEvent.INIT load MouseEvent.SELECT MouseEvent.ROLL_OUT MouseEvent.ROLL_OVER mouseEnabled MouseEvent.COMPLETE selectable Bitmap appendText addEventListener MouseEvent.CLICK TextField Number sort new page view favorite forked pv0 forked from: forked from: File.. eri forked:0 favorite:0lines:83 (diff:1)