官方的答复:只有嵌入的字体才可以旋转(Note that only embedded text can be rotated.).
英文字体无所谓,反正那么小,中文字体就惨了,动辄十几M,难道就没有其他方法了吗?答案是肯定的.
可以先把text组件生成Bitmap,然后再旋转Bitmap就可以了
源码:
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" verticalScrollPolicy="off">
<mx:Script>
<![CDATA[
import mx.controls.Image;
import mx.core.UIComponent;
public function save2bmp():void{
var target:Image = new Image();
var bd :BitmapData = getBitmapData( UIComponent( txt ) );
target.source = new Bitmap( bd );
canvas.addChild(target);
canvas.setChildIndex(target, canvas.numChildren - 1);
}
private function getBitmapData( target :UIComponent ) : BitmapData
{
var bd : BitmapData = new BitmapData( target.width, target.height );
var m : Matrix = new Matrix();
bd.draw( target, m );
return bd;
}
]]>
</mx:Script>
<mx:Spacer height="200"/>
<mx:Canvas id="canvas" width="200" height="100" rotation="{HS.value}" click="canvas.setChildIndex(txt, canvas.numChildren - 1)">
<mx:TextArea id="txt" width="100%" height="100%" mouseFocusChange="save2bmp()"/>
</mx:Canvas>
<mx:HSlider id="HS" minimum="0" maximum="360" />
<!--<mx:Button label="save" click="save2bmp()"/>-->
</mx:Application>
