Label 구성 요소를 BitmapData 객체에 그리는 데 문제가 있습니다. 아무리 노력해도 레이블이 나타나지 않습니다. 표시 목록에 레이블을 추가하기 만하면 모든 것이 잘 작동하지만 성능상의 이유로 옵션이 아닙니다. BitmapData에 다른 종류의 것들 (벡터 아트)을 그리는 데 문제가 없지만이 레이블은 실제로 루프에 나를 던지고 있습니다.BitmapData.draw with spark.components.Label
spark.components.Label 및 mx.controls.Label에서이 문제가 발생했습니다. 이 두 클래스가 모두 IBitmapDrawable을 구현하는 UIComponent를 확장하기 때문에 이렇게 작동해야한다고 생각합니다. 그러나 Flex 프레임 워크에 익숙하지 않아서 무언가를 놓치고 있습니다. 누구든지 아이디어가 있습니까?
관련 Actionscript 및 CSS를 사용하고 있습니다.
AS :
_label = new Label();
_label.styleName = "categoryButton";
_label.width = 500;
_label.height = 40;
_label.text = "LABEL TEXT";
var bd:BitmapData = new BitmapData(500, 500, true, 0);
bd.draw(_label);
_labelBitmap = new Bitmap(bd);
addChild(_labelBitmap);
CSS : 당신이 그것을 그릴 때
@font-face {
src: url("assets/HelveticaNeueLTStd-Roman.otf");
fontFamily: "HelveticaNeueLT-Roman";
fontStyle: normal;
fontWeight: normal;
unicode-range: U+0020-U+0040, /* Punctuation, Numbers */
U+0041-U+005A, /* Upper-Case A-Z */
U+005B-U+0060, /* Punctuation and Symbols */
U+0061-U+007A, /* Lower-Case a-z */
U+007B-U+007E; /* Punctuation and Symbols */
advancedAntiAliasing: true;
embedAsCFF: true;
}
s|Label.categoryButton {
fontFamily: "HelveticaNeueLT-Roman";
font-size:30;
fontStyle:normal;
textAlign:center;
color:#cc0000;
}
나는 마침내이 일을 얻었다. 전에 레이블을 표시 목록에 추가하고 그림을 그린 다음 제거했습니다. 문제는 부모가 아직 무대에 추가되지 않았다는 것입니다. 프레임을 건너 뛰면 그림이 그 그림을 해결 한 것 같습니다. – ModernCarpentry
FlexEvent.CREATION_COMPLETE을 수신하는 것이 좋습니다. 프레임을 건너 뛰면 구성 요소가 준비되었는지 100 % 확신 할 수 없습니다. – RIAstar
그건 좋은 제안이야, RIAstar, 나는 프레임 스킵이 이것을 처리하는 아주 깨끗한 방법이라고 생각하지 않았다. CREATION_COMPLETE 이벤트에 대해 알아두면 좋을 것 같습니다. 그냥 테스트 해봤는데 작동하는 것처럼 보입니다 - 고마워요! – ModernCarpentry