|
|
zazzle,www.zazzle.com 一个在线印品制作的网站,用Ajax做的。虽然慢(因为每个动作都需要服务器来做),但是效果确实不错。

他的那个图片的 贴身效果,服务器端不知道怎么弄的,还是比较强的。
在flash里面 貌似可以实现,但是结果却不尽人意。
如果在 flash 里面实现的话,除了用DisplacementMapFilter恐怕别无她法了。
<?xml version="1.0"?><!-- containers\layouts\HDivBoxSimple.mxml --><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" fontSize="12" layout="absolute" width="850" height="600" applicationComplete="applicationCompleteHandler()"> <mx:Script> <![CDATA[ import mx.core.BitmapAsset; [Embed(source="designall.dll.jpg")] [Bindable] private var testClass:Class; private function creationCompleteHnadler():void { image.filters = [getFilter(), ]; image.transform.colorTransform = getColorTran(); } private function getFilter():DisplacementMapFilter { var channel:uint = 1; trace(channel); var mapBitmap:BitmapData = getTestBitmapData(); var mapPoint:Point = new Point(-image.x,-image.y); var componentX:uint = 2; var componentY:uint = 4; var scaleX:Number = ss.value; var scaleY:Number = ss.value; var mode:String = DisplacementMapFilterMode.COLOR; var color:uint = 0; var alpha:Number = 0.5; var displacementMapFilter:DisplacementMapFilter = new DisplacementMapFilter( mapBitmap, mapPoint, componentX, componentY, scaleX, scaleY, mode, color, alpha ); return displacementMapFilter; } private function getColorTran():ColorTransform { var clolor:ColorTransform = new ColorTransform(1,1,1,1, -10,-10,-10,0); return clolor; } private function getTestBitmapData():BitmapData { return BitmapAsset(new testClass()).bitmapData.clone(); } private function applicationCompleteHandler():void { return; var bitmap:Bitmap = new Bitmap(getTestBitmapData()); //bitmap.alpha = 0.3; stage.addChild(bitmap); } private function mouseDownHandler():void { stage.addEventListener(MouseEvent.MOUSE_UP,stageMouseUpHandler); stage.addEventListener(MouseEvent.MOUSE_MOVE,stageMouseMoveHandler); image.startDrag(); } private function stageMouseMoveHandler(e:MouseEvent):void { //creationCompleteHnadler(); } private function stageMouseUpHandler(e:MouseEvent):void { stage.removeEventListener(MouseEvent.MOUSE_UP,stageMouseUpHandler); image.stopDrag(); creationCompleteHnadler(); } ]]> </mx:Script> <mx:Canvas> <mx:Image id="image0" source="@Embed(source='designall.dll.jpg')"/> <mx:Image id="image" source="@Embed(source='ttt.png')" mouseDown="mouseDownHandler()" creationComplete="creationCompleteHnadler()" x="97" y="93" width="206" height="194"/> </mx:Canvas> <mx:HSlider id="ss" x="108" y="506" value="20" minimum="0" maximum="100" change="creationCompleteHnadler()"/></mx:Application>
|
|