2009-12-09 4 views
0

Flash에서 작은 그래픽 결함이 발생했습니다. 그것은 플래시 CS3를 통해 수출 된 FP9와 플렉스 4 베타 SDK를 통해 수출 된 FP10 모두에있는 것으로 보입니다.TextField Flash CS3/FP10의 앤티 앨리어싱으로 인해 텍스트가 깜박 거리고 "블룸"됩니까?

글리치/문제는 인증 기관 조건에서 작은 포인트 크기 "피어"로 삽입 텍스트로 나타납니다. 기본적으로 앤티 앨리어싱은 텍스트 밝기의 일부 수준에서 더 뚱뚱해 보입니다. 아래에 작은 테스트 케이스를 만들었습니다. (분명히) 아래 코드가 작동하려면 컴파일 된 SWF에 Arial 글꼴을 포함해야합니다.

var myText:TextField = new TextField(); 
myText.embedFonts = true; 
myText.antiAliasType = AntiAliasType.ADVANCED; 
myText.autoSize = TextFieldAutoSize.LEFT; 
var myFormat:TextFormat = myText.getTextFormat(); 
myFormat.size = 8; 
myFormat.font = 'Arial'; 
myFormat.color = 0x663300; 
myText.defaultTextFormat = myFormat; 
myText.text = 'Bloom Example'; 
addChild(myText); 
var composit:ColorTransform = new ColorTransform(); 
var timestamp:Number = getTimer(); 
function enterFrame (event:Event):void{ 
    var n:Number = (getTimer() - timestamp)/1000.0; 
    composit.redMultiplier = 1-n; 
    composit.greenMultiplier = 1-n; 
    composit.blueMultiplier = 1-n; 
    composit.redOffset = 250 * n; 
    composit.greenOffset = 250 * n; 
    composit.blueOffset = 0; 
    myText.transform.colorTransform = composit; 
    if (n >= 1) removeEventListener(Event.ENTER_FRAME, enterFrame); 
}; 
addEventListener(Event.ENTER_FRAME, enterFrame); 
당신은 여기에 그래픽 요소를 통해 압연하여 문제의 예를 볼 수 있습니다

: http://bandcamp.fieldsofnoise.org/dump/bloom.swf

그것은 텍스트 방식 덜 읽을 수있는이 시점에서 만들면서 AntiAliasType.NORMAL로 변경하는 옵션이 정말 아니다 크기.

이 문제에 대한 적절한 해결책을 찾는 데 도움을 주시면 감사하겠습니다.

답변

0

밝기를 변경할 때 앤티 앨리어싱 픽셀을 포함하여 글꼴이 렌더링되는 모든 픽셀의 값을 최대화한다고 생각합니다. 밝기를 높이는 대신 색상을 변경해 보셨습니까? 아니면 단순한 색조를 적용하는 것일까 요?

+0

내가 링크 한 외부 SWF 버전은 '간단한 색조'입니다. 그것은 내가 composit color transformation으로 무엇을했는지에 대한 수학적으로 평범한 것을하고 있습니다. – Jotham

관련 문제