`

贴身效果

阅读更多

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>

 

 

 

  • 大小: 125.4 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics