How to implement Bitmap smoothing?

Hi - I would like to use the smoothing function for my code here below.

This is just a slideshow gallery that resize the photos at 100% full page with scaling proportions.

1 - Can you help me implementing the smoothing function here?

2 - Another problem issue: this has a little movement effect that moves the photo when the mouse moves. To do this i scaled the images at 110% but it looks a bit streched here. Can you understand why it looks distorted?


// import tweener
import caurina.transitions.Tweener;
import flash.events.Event;

stage.scaleMode = StageScaleMode.NO_SCALE;
stage.align = StageAlign.TOP_LEFT;
stage.addEventListener(Event.RESIZE, resizeHandler);
var sw:Number = stage.stageWidth;
var sh:Number = stage.stageHeight;

// delay between slides
const TIMER_DELAY:int = 5000;
// fade time between slides
const FADE_TIME:int =	1;

// reference to the current slider container
var currentContainer:Sprite;
// index of the current slide
var intCurrentSlide:int = -1;
// total slides
var intSlideCount:int;
// timer for switching slides
var slideTimer:Timer;
// slides holder
var sprContainer1:Sprite;
var sprContainer2:Sprite;
// slides loader
var slideLoader:Loader;
// url to slideshow xml
var strXMLPath:String = "slideshow-data-home.xml";
// slideshow xml loader
var xmlLoader:URLLoader;
// slideshow xml
var xmlSlideshow:XML;

function init():void {
	// create new urlloader for xml file
	xmlLoader = new URLLoader();
	// add listener for complete event
	xmlLoader.addEventListener(Event.COMPLETE, onXMLLoadComplete);
	// load xml file
	xmlLoader.load(new URLRequest(strXMLPath));
	
	// create new timer with delay from constant
	slideTimer = new Timer(TIMER_DELAY);
	// add event listener for timer event
	slideTimer.addEventListener(TimerEvent.TIMER, switchSlide);
	
	// create 2 container sprite which will hold the slides and
	// add them to the masked movieclip
	sprContainer1 = new Sprite();
	sprContainer2 = new Sprite();
	mcSlideHolder.addChild(sprContainer1);
	mcSlideHolder.addChild(sprContainer2);
	
	// keep a reference of the container which is currently
	// in the front
	currentContainer = sprContainer2;
		
	/*bgTesto_mc.x = 0;
	bgTesto_mc.height = stage.stageHeight;
	testo_mc.y = 250;*/
}
	
function onXMLLoadComplete(e:Event):void {
	// create new xml with the received data
	xmlSlideshow = new XML(e.target.data);
	// get total slide count
	intSlideCount = xmlSlideshow..image.length();
	// switch the first slide without a delay
	switchSlide(null);
}
	
function fadeSlideIn(e:Event):void {
	// add loaded slide from slide loader to the
	// current container
	currentContainer.addChild(slideLoader.content);
	mcSlideHolder.width = stage.stageWidth * 1.1;
	mcSlideHolder.height = stage.stageHeight * 1.1;
	// clear preloader text
	mcInfo.lbl_loading.text = "";
	// fade the current container in and start the slide timer
	// when the tween is finished
	Tweener.addTween(currentContainer, {alpha:1, time:FADE_TIME, onComplete:function() { slideTimer.start(); }});
}

function switchSlide(e:Event):void {
	// check, if the timer is running (needed for the
	// very first switch of the slide)
	if(slideTimer.running)
		slideTimer.stop();
	
	// check if we have any slides left and increment
	// current slide index
	if(intCurrentSlide + 1 < intSlideCount)
		intCurrentSlide++;
	// if not, start slideshow from beginning
	else
		intCurrentSlide = 0;
	
	// check which container is currently in the front and
	// assign currentContainer to the one that's in the back with
	// the old slide
	if(currentContainer == sprContainer2)
		currentContainer = sprContainer1;
	else
		currentContainer = sprContainer2;
	
	// hide the old slide
	currentContainer.alpha = 0;
	// bring the old slide to the front
	mcSlideHolder.swapChildren(sprContainer2, sprContainer1);
	
	// create a new loader for the slide
	slideLoader = new Loader();
	// add event listener when slide is loaded
	slideLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, fadeSlideIn);
	// add event listener for the progress
	slideLoader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, showProgress);
	// load the next slide
	slideLoader.load(new URLRequest(xmlSlideshow..image[intCurrentSlide].@src));
	
	// show description of the next slide
	mcInfo.lbl_description.text = xmlSlideshow..image[intCurrentSlide].@desc;
	// show current slide and total slides
	mcInfo.lbl_count.text = (intCurrentSlide + 1) + " / " + intSlideCount + " Slides";
}

function showProgress(e:ProgressEvent):void {
	// show percentage of the bytes loaded from the current slide
	mcInfo.lbl_loading.text = "Loading..." + Math.ceil(e.bytesLoaded * 100 / e.bytesTotal) + "%";
}

function resizeHandler(event:Event):void {
	trace("resizing");
	
	sw = stage.stageWidth;
  	sh = stage.stageHeight;
	
	//ImageResizer STARTS
	var multiply:Number;
	mcSlideHolder.width *= 5;
	mcSlideHolder.height *= 5;
		
	if(mcSlideHolder.height > sh){
		multiply = sh / mcSlideHolder.height;
		mcSlideHolder.height = sh * 1.1;
		mcSlideHolder.width = mcSlideHolder.width * 1.1 * multiply;
	} 
	if(mcSlideHolder.width < sw){
		multiply = sw / mcSlideHolder.width;
		mcSlideHolder.width = sw * 1.1;
		mcSlideHolder.height = mcSlideHolder.height * 1.1 * multiply;
	}
  	//ImageResizer END
	
	/*bgTesto_mc.x = 0;
	bgTesto_mc.height = stage.stageHeight;
	testo_mc.y = 250;*/
}

//EFFETTO SCROLL SULLO SFONDO
stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveX);	
stage.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveY);

function mouseMoveX(e:MouseEvent):void {
  	trace("mouseMoveX");
  	// scroll image effect
  	this.mcSlideHolder.x = (stage.stageWidth/2) -((mouseX - (stage.stageWidth/2)) * (  ((this.mcSlideHolder.width - stage.stageWidth)/2) / (stage.stageWidth/2))) - (this.mcSlideHolder.width * 0.5);
}	

function mouseMoveY(e:MouseEvent):void {
  	trace("mouseMoveY");
  	// scroll image effect
  	this.mcSlideHolder.y = (stage.stageHeight/2) -((mouseY - (stage.stageHeight/2)) * (  ((this.mcSlideHolder.height - stage.stageHeight)/2) / (stage.stageHeight/2))) - (this.mcSlideHolder.height * 0.5);
}
//EFFETTO SCROLL SULLO SFONDO FINE

// init slideshow
init();

mcInfo.visible = false;

Thank you.