Guest User

Untitled

a guest
May 26th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.83 KB | None | 0 0
  1. package com.vitorino.display.bitmap
  2. {
  3. import com.vitorino.events.FileEvent;
  4. import flash.display.Bitmap;
  5. import flash.display.Loader;
  6. import flash.events.Event;
  7. import flash.events.IOErrorEvent;
  8. import flash.net.FileFilter;
  9. import flash.net.FileReference;
  10. import org.casalib.display.CasaBitmap;
  11.  
  12. /**
  13. * ...
  14. * @author Junio Vitorino
  15. */
  16.  
  17. public class Image extends CasaBitmap
  18. {
  19.  
  20. private var _fileReference:FileReference = null;
  21. private var _loader:Loader = null;
  22. private var _fileFilter:FileFilter = new FileFilter("Images", "*.jpg;*.jpeg;*.gif;*.png");
  23. private var _width:int = 0;
  24. private var _height:int = 0;
  25.  
  26. public function Image(width:int, height:int)
  27. {
  28.  
  29. _width = width;
  30. _height = height;
  31.  
  32. _fileReference = new FileReference();
  33. _fileReference.addEventListener(Event.SELECT, onFileSelected);
  34. }
  35.  
  36. private function onFileSelected(e:Event):void
  37. {
  38. _fileReference.addEventListener(Event.COMPLETE, onFileLoaded);
  39. _fileReference.addEventListener(IOErrorEvent.IO_ERROR, onErrorHandler);
  40. _fileReference.load();
  41. }
  42.  
  43. private function onErrorHandler(e:IOErrorEvent):void
  44. {
  45. // TODO: Implements error code
  46. }
  47.  
  48. private function onFileLoaded(e:Event):void
  49. {
  50. _loader = new Loader();
  51. _loader.contentLoaderInfo.addEventListener(Event.INIT, onLoaderInit);
  52. _loader.loadBytes(_fileReference.data);
  53.  
  54. _fileReference.removeEventListener(Event.COMPLETE, onFileLoaded);
  55. _fileReference.removeEventListener(IOErrorEvent.IO_ERROR, onErrorHandler);
  56. }
  57.  
  58. private function onLoaderInit(e:Event):void
  59. {
  60. bitmapData = Bitmap(e.currentTarget.content).bitmapData;
  61. width = _width;
  62. height = _height;
  63. dispatchEvent(new FileEvent(FileEvent.LOADED, _fileReference.name));
  64. }
  65.  
  66. public function selectImage():void
  67. {
  68. _fileReference.browse([_fileFilter]);
  69. }
  70.  
  71.  
  72. }
  73.  
  74. }
Add Comment
Please, Sign In to add comment