在Flex应用程序中扭曲图像控件 这例子告诉大家怎么利用Transform和Maxtrix两个类来在水平和垂直方向上扭曲图像控件。源代码如下: <? xml version="1.0" encoding="utf-8" ?> < mx:Application xmlns:mx ="http://www.adobe.com/2006/mxml" layout ="vertical" verticalAlign ="middle" backgroundColor ="white" viewSourceURL ="srcview/index.html" > < mx:Script > <![CDATA[ private function radiansToDegrees(radians:Number):Number { return (radians * (180 / Math.PI)); } private function degreesToRadians(degrees:Number):Number { return (degrees * (Math.PI / 180)); } private function skewr(target:DisplayObject):void { var m:Matrix = target.transform.matrix; m.b = Math.tan(degreesToRadians(sliderY.value)); m.c = Math.tan(degreesToRadians(sliderX.value)); var t:Transform = new Transform(target); t.matrix = m; target.transform = t; } private function resetMatrix(target:DisplayObject):void { // Reset sliders. sliderX.value = 0; sliderY.value = 0; skewr(target); } ]]> </ mx:Script > < mx:ApplicationControlBar dock ="true" > < mx:Form styleName ="plain" > < mx:FormItem label ="skew X:" > < mx:HSlider id ="sliderX" minimum ="-15" maximum ="15" value ="0" liveDragging ="true" snapInterval ="1" change ="skewr(image);" /> </ mx:FormItem > < mx:FormItem label ="skew Y:" > < mx:HSlider id ="sliderY" minimum ="-15" maximum ="15" value ="0" liveDragging ="true" snapInterval ="1" change ="skewr(image);" /> </ mx:FormItem > < mx:FormItem > < mx:Button label ="Reset" click ="resetMatrix(image);" /> </ mx:FormItem > </ mx:Form > </ mx:ApplicationControlBar > < mx:Image id ="image" source ="@Embed('Fx.png')" scaleContent ="true" maintainAspectRatio ="true" width ="200" height ="200" /> </ mx:Application >