Pour agrandir ou réduire une image via actionscript, vous pouvez utiliser la méthode scaleX ou scaleY de votre image, mais les changements sont directs, il existe une solution qui donne un effet progressif sur le zoom de la classe Zoom!
Code source:
http://www.progs.fr/exemple/08101203/srcview/index.html
Démonstration:
http://www.progs.fr/exemple/08101203/dean.html
Fichier mxml:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
viewSourceURL="source/index.html"
applicationComplete="init()"
>
<mx:Script source="test.as" />
</mx:Application>
Fichier test.as
import mx.controls.Image;
import mx.effects.Zoom;
private var im:Image;
private var zoomIN:Zoom;
private var zoomOUT:Zoom;
private function init():void{
im = new Image();
im.source="photoMax.JPG";
im.addEventListener(MouseEvent.MOUSE_DOWN,clic);
addChild(im);
zoomIN = new Zoom();
zoomIN.target=im;
zoomIN.zoomWidthFrom=1;
zoomIN.zoomWidthTo=2;
zoomIN.zoomHeightFrom=1;
zoomIN.zoomHeightTo=2;
zoomOUT = new Zoom();
zoomOUT.target=im;
zoomOUT.zoomWidthFrom=2;
zoomOUT.zoomWidthTo=1;
zoomOUT.zoomHeightFrom=2;
zoomOUT.zoomHeightTo=1;
}
private function clic(e:Event):void{
if(im.scaleY==1) zoomIN.play();
else zoomOUT.play();
}