(Flash) How to load and display the user's local image

| No Comments | No TrackBacks
This sample simply opens the file selection dialogue box and loads the selected image to the blank canvas on the screen. There's nothing worth showing - it simply serves as a reminder to myself of how to do it.



Sample code

package {
    import flash.display.*;
    import flash.events.*;
    import flash.net.*;
   
    public class ImageLoader extends Sprite {
        private var fileReference:FileReference;
       
        public function ImageLoader() {
            open_btn.addEventListener(MouseEvent.CLICK, h_openClick);
        }

        public function  h_openClick(evt:MouseEvent):void {
            fileReference = new FileReference();
            fileReference.addEventListener(Event.SELECT, selectHandler);
            fileReference.addEventListener(Event.COMPLETE, completeHandler);
            var fileFilter:FileFilter = new FileFilter("Images","*.jpg;*.jpeg;*.gif;*.png");
            fileReference.browse([fileFilter]);
        }

        private function selectHandler(event:Event):void {
            fileReference.load();
        }

        private function completeHandler(event:Event):void {
            var loader:Loader = new Loader();
            loader.loadBytes(fileReference.data);
            addChild(loader);
        }
    }
}


AIR version with File and FileStream object

package {
    import flash.display.*;
    import flash.events.*;
    import flash.filesystem.*;
    import flash.net.*;
    import flash.utils.ByteArray;
   
    public class ImageLoader extends Sprite {
        private var file:File;
        private var loader:Loader;
       
        public function ImageLoader() {
            open_btn.addEventListener(MouseEvent.CLICK, h_openClick);
        }

        public function  h_openClick(evt:MouseEvent):void {
            file = new File(File.desktopDirectory.url);
            file.addEventListener(Event.SELECT, selectHandler);
            var fileFilter:FileFilter = new FileFilter("Images","*.jpg;*.jpeg;*.gif;*.png");
            file.browseForOpen("open imagefile",[fileFilter]);
        }

        private function selectHandler(event:Event):void {
            var stream:FileStream = new FileStream( );
            var bytes:ByteArray = new ByteArray();
            stream.open(file, FileMode.READ);
            stream.readBytes(bytes);
            loader = new Loader();
            loader.loadBytes(bytes);
            addChild(loader);
            loader.y = 36;
            stream.close( );
        }
    }

No TrackBacks

TrackBack URL: http://www.kynd.info/cp-bin/mt/mt-tb.cgi/109

Leave a comment