Help I am have problem with this ..
This work like deepzoom the problem it move ok when normal size but
when expand is move but jump when the move.
It also work in zoom if I move the top left corner but not if I move
the middle of the image.
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="horizontal">
<mx:Script>
<![CDATA[
import mx.core.BitmapAsset;
import mx.core.DragSource;
import mx.events.DragEvent;
import mx.managers.DragManager;
private var xoffset:Number;
private var yoffset:Number;
private static const FORMAT:String = "Image";
private function mouseDownHandler(
evt:MouseEvent ):void
{
xoffset = evt.localX;
yoffset = evt.localY;
var initiator:Image = evt.currentTarget as Image;
var proxyBox:BitmapAsset = new BitmapAsset();
proxyBox.bitmapData = new BitmapData( initiator.width,
initiator.height );
proxyBox.bitmapData.draw( initiator );
var dragSource:DragSource = new DragSource();
dragSource.addData( initiator, FORMAT );
DragManager.doDrag( initiator, dragSource, evt,
proxyBox, 0, 0, 0.5 );
}
private function dragEnterHandler( evt:DragEvent ):void
{
if( evt.dragSource.hasFormat( FORMAT ) )
{
DragManager.acceptDragDrop( Canvas(
evt.currentTarget ) );
}
}
private function dropHandler( evt:DragEvent ):void
{
var box:Image = Image( evt.dragInitiator );
dragItem.x = evt.localX - xoffset;
dragItem.y = evt.localY - yoffset;
}
]]>
</mx:Script>
<mx:Move id="myMove" target="{dragItem}"/>
<mx:Zoom id="zoomIn" zoomWidthTo="1" zoomHeightTo="1" />
<mx:Zoom id="zoomOut" zoomWidthTo=".5" zoomHeightTo=".5" />
<mx:Resize id="expand" target="{dragItem}" widthTo="1200"
heightTo="1600"/>
<mx:Resize id="contract" target="{dragItem}" widthTo="600"
heightTo="800"/>
<mx:VBox height="100%">
<mx:Canvas id="canvas"
backgroundColor="0xEEEEEE"
width="600" height="800"
dragEnter="dragEnterHandler(event);"
dragDrop="dropHandler(event);"
verticalScrollPolicy="off"
horizontalScrollPolicy="off">
<mx:Image id="dragItem"
mouseDown="mouseDownHandler(event);"
source="landscape-9.jpg"
/>
</mx:Canvas>
<mx:HBox width="100%">
<mx:Button label="Expand" click="expand.end(); expand.play
();"/>
<mx:Button label="Contract" click="contract.end();
contract.play();"/>
</mx:HBox>
</mx:VBox>
</mx:Application>
Andrew Price