Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.vitorino.display.bitmap
- {
- import com.vitorino.events.FileEvent;
- import flash.display.Bitmap;
- import flash.display.Loader;
- import flash.events.Event;
- import flash.events.IOErrorEvent;
- import flash.net.FileFilter;
- import flash.net.FileReference;
- import org.casalib.display.CasaBitmap;
- /**
- * ...
- * @author Junio Vitorino
- */
- public class Image extends CasaBitmap
- {
- private var _fileReference:FileReference = null;
- private var _loader:Loader = null;
- private var _fileFilter:FileFilter = new FileFilter("Images", "*.jpg;*.jpeg;*.gif;*.png");
- private var _width:int = 0;
- private var _height:int = 0;
- public function Image(width:int, height:int)
- {
- _width = width;
- _height = height;
- _fileReference = new FileReference();
- _fileReference.addEventListener(Event.SELECT, onFileSelected);
- }
- private function onFileSelected(e:Event):void
- {
- _fileReference.addEventListener(Event.COMPLETE, onFileLoaded);
- _fileReference.addEventListener(IOErrorEvent.IO_ERROR, onErrorHandler);
- _fileReference.load();
- }
- private function onErrorHandler(e:IOErrorEvent):void
- {
- // TODO: Implements error code
- }
- private function onFileLoaded(e:Event):void
- {
- _loader = new Loader();
- _loader.contentLoaderInfo.addEventListener(Event.INIT, onLoaderInit);
- _loader.loadBytes(_fileReference.data);
- _fileReference.removeEventListener(Event.COMPLETE, onFileLoaded);
- _fileReference.removeEventListener(IOErrorEvent.IO_ERROR, onErrorHandler);
- }
- private function onLoaderInit(e:Event):void
- {
- bitmapData = Bitmap(e.currentTarget.content).bitmapData;
- width = _width;
- height = _height;
- dispatchEvent(new FileEvent(FileEvent.LOADED, _fileReference.name));
- }
- public function selectImage():void
- {
- _fileReference.browse([_fileFilter]);
- }
- }
- }
Add Comment
Please, Sign In to add comment