아니요. 색상 문제가 아닙니다. 또한 색상을 FF000000으로 설정했는데 적어도 검은 색으로 표시해야합니다. TextField는 완벽하게 작동하지만 TextArea는 비트 맵과 잘 어울리지 않는 것 같습니다.
편집 : 정상적인 AS3 Sprites와는 다른 동작을하는 FlexSprite 일 뿐이므로 TextArea가 spark 또는 mx로 작동하지 않는 것으로 생각됩니다. 디스플레이 목록에 추가 될 때까지 렌더링이 지연됩니다.
작동 기능 :
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;
}
가 작동 것이다 그러나 :
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 & 스파크 텍스트 영역 구성 요소를 시도)
출처
2012-08-06 02:13:48
Lex
먼저 비트 맵 데이터를 생성하지 않고 저장하는 방법을 알지 못합니다. 무언가가 보이지 않는 곳에서 텍스트를 렌더링 한 다음 나중에 제거하십시오. – loxxy