<?xml version="1.0" encoding="utf-8"?>
<!-- http://blog.flexexamples.com/2007/09/14/rotating-images-using-the-matrix-class/ -->
<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 button_click(evt:Event):void {
				var direction:int;
				switch (evt.currentTarget) {
					case degreesUp:
						direction = +1;
						break;
					case degreesDown:
						direction = -1;
						break;
				}

				var radians:Number = degreesToRadians(direction);
				var offsetWidth:Number = img.width / 2;
				var offsetHeight:Number = img.height / 2;
				var tempMatrix:Matrix = img.transform.matrix;
				tempMatrix.translate(-offsetWidth, -offsetHeight);
				tempMatrix.rotate(radians);
				tempMatrix.translate(+offsetWidth, +offsetHeight);

				img.transform.matrix = tempMatrix;

				rotateDeg = img.rotation;
			}

			private function radiansToDegrees(radians:Number):Number {
				var degrees:Number = radians * (180 / Math.PI);
				return degrees;
			}

			private function degreesToRadians(degrees:Number):Number {
				var radians:Number = degrees * (Math.PI / 180);
				return radians;
			}
		]]>
	</mx:Script>

	<mx:Number id="rotateDeg">0</mx:Number>
	<mx:NumberFormatter id="numberFormatter" precision="0" />
	<mx:String id="deg">{String.fromCharCode(176)}</mx:String>

	<mx:ApplicationControlBar dock="true">
		<mx:Label text="rotation:" />
		<mx:Button id="degreesUp"
				label="+"
				autoRepeat="true"
				click="button_click(event);"
				buttonDown="button_click(event);" />
		<mx:Button id="degreesDown"
				label="-"
				autoRepeat="true"
				click="button_click(event);"
				buttonDown="button_click(event);" />
		<mx:Spacer width="50" />
		<mx:Label id="lbl"
				text="{numberFormatter.format(rotateDeg)}{deg}" />
	</mx:ApplicationControlBar>

	<mx:VBox>
		<mx:Image id="img"
				source="http://www.helpexamples.com/flash/images/logo.png" />
	</mx:VBox>

</mx:Application>

