不,這不是顏色問題。另外我的顏色設置爲FF000000,至少應該顯示黑色。 TextArea似乎沒有用位圖表現出色,儘管TextField完美無缺。
編輯:我猜TextArea沒有作爲spark或mx工作,因爲它們是FlexSprite thingy,它的行爲與普通的AS3 Sprites不同。他們將推遲呈現,直到他們被添加到顯示列表。
工作職能:
public function rasterizeText(text:String,
width:int = 100, height:int = 100):BitmapData {
var tf:TextField = new TextField();
tf.multiline = true;
tf.wordWrap = true;
tf.width = width;
tf.height = height;
tf.htmlText = text;
var bd:BitmapData = new BitmapData(width, height, true,0x00000000);
bd.draw(tf);
return bd;
}
這是行不通的(我試過MX &火花textarea的組件):
public function rasterizeText(text:String,
width:int = 100, height:int = 100):BitmapData {
var textRenderer:TextArea = new TextArea();
textRenderer.width = width;
textRenderer.height = height;
textRenderer.textFlow = TextConverter.importToFlow(text, TextConverter.TEXT_FIELD_HTML_FORMAT);
canvas.addElement(textRenderer);
var bitdata:BitmapData = new BitmapData(width, height, false, 0xFF000000)
bitdata.draw(canvas);
return bitdata;
}
:
public function rasterizeText(text:String,
width:int = 100, height:int = 100):BitmapData {
var textRenderer:TextArea = new TextArea();
textRenderer.width = width;
textRenderer.height = height;
textRenderer.textFlow = TextConverter.importToFlow(text, TextConverter.TEXT_FIELD_HTML_FORMAT);
var bitdata:BitmapData = new BitmapData(width, height, false, 0xFF000000)
bitdata.draw(textRenderer);
return bitdata;
}
從舞臺中繪製時但是它會工作
來源
2012-08-06 02:13:48
Lex
我不明白如何在不首先生成位圖數據的情況下保存位圖數據。嘗試渲染文本是在某個不可見的階段,然後稍後將其刪除。 – loxxy 2012-08-03 09:14:04