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();

那畫面如下所示:


image

留言

這個網誌中的熱門文章

WPF - 深入 Style

C# – M$ Chart Control 自定 ToolTip 的顯示

Vue.js - 基礎介紹教學