Flex - 使用 Graphics 來描繪文字
在 Flex 中 Graphics 提供了繪畫的功能,但並不提供描繪文字的 Method,那如需描繪文字時需如何使用呢?下面提供簡單的程式碼以供參考.
public function drawText(text:String, useDefaultFormat:Boolean = true, format:TextFormat = null):BitmapData {
var uit:UITextField = new UITextField();
uit.defaultTextFormat = useDefaultFormat ? defaultFormat : format;
var tf:UITextFormat = uit.getUITextFormat();
var tlm:TextLineMetrics = tf.measureText(text);
uit.width = tlm.width;
uit.height = tlm.height;
uit.text = text;
var bitmapData:BitmapData = ImageSnapshot.captureBitmapData(uit);
return bitmapData;
}
上面的 Method 是把 UITextField 的 Component 擷圖,再透過下面的程式碼來達成描繪文字的功能.
bitmapData = drawText(axisData.name);
g.graphics.beginBitmapFill(bitmapData, matrix, false);
g.graphics.drawRect(x, y, bitmapData.width, bitmapData.height);
g.graphics.endFill();
那畫面如下所示:
留言
張貼留言