Wednesday, December 16, 2009

Preloading Loading Images using Flex from ArrayCollection.





import mx.controls.List;
import mx.collections.ArrayCollection;

public var mycollection:ArrayCollection = new ArrayCollection([
{id: 2, filename: 'Hippo.jpg', width:600, height:400,duration:3000,path:"http://lsst.astro.washington.edu/images/ImageSimColorLarge.jpg"},
{id: 4, filename: 'amalfi-bw.jpg', width:700, height:400,duration:3000,path:"http://bioinformatics.icmb.utexas.edu/lgl/PHN/phn.large.png"},
{id: 3, filename: 'amalfi.jpg', width:600, height:400,duration:3000,path:"http://helpexamples.com/flash/images/image1.jpg"},
{id: 1, filename: 'Car Abonded', width:400, height:400,duration:3000,path:"abandoned car.jpg"},
{id: 3, filename: 'Hippo.jpg', width:600, height:400,duration:3000,path:"Hippo.jpg"}]);


private var images_ary:Array= new Array();
private var currentImage:Number=0;
function ImageLoader()

{
for(var i:Number=0;i< mycollection.length;i++)
{
var obj:Object = mycollection.getItemAt(i);
loadImage(obj.path);
}

}

function loadImage(url:String)
{
var loader:Loader = new Loader();
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onImageLoaded);
loader.load(new URLRequest(url));
}

function onImageLoaded(e:Event)
{
var image:Bitmap =new Bitmap(Bitmap(e.target.content).bitmapData.clone());
images_ary.push(image);
currentImage++;
if(currentImage < mycollection.length)
loadImage(mycollection.getItemAt(currentImage).path);
}

function getImages():Array
{
return images_ary;
}

private function loadimages()
{

var myimage:ArrayCollection = new ArrayCollection();
for each(var num in images_ary)
{
myimage.addItem(images_ary.pop() as Object);
imageloader.source = myimage.getItemAt(num) ;
}
}


]]>










No comments:

Post a Comment