如何在Flash中模拟Photoshop CS4的平滑字体渲染?

6

有没有什么办法能在Flash/Flex中模拟Photoshop中的流畅字体渲染选项?我已经尝试了不同的高级渲染设置(抗锯齿类型,网格适应类型等),但到目前为止运气并不是很好。你有什么想法吗?

2个回答

4

TextField类拥有一个关于锐利度(sharpness)和厚薄度(thickness)的属性。

锐利度可以在-400到400之间设置。 http://help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/text/TextField.html#sharpness

myField.sharpness = 400;

字体粗细:可设置范围为-200至200。http://help.adobe.com/en_US/AS3LCR/Flash_10.0/flash/text/TextField.html#thickness

myField.thickness = -200

一般来说,将TextField实例设置为整个像素是一个好主意。我有时会子类化TextField并覆盖x和y的setter方法,例如:

override public function set x( value:Number ):void
{
     super.x = Math.round( value );
}

我还发现,如果你正在使用像素字体,那么将TextField.antiAliasType设置为AntiAliasType.ADVANCED是一个好主意。


非常感谢 - 我其实知道锐度,但从未注意到厚度,这个帮了我大忙。现在运行得很好 - 至少满足了我的需求。 - Michael Pliskin

1

虽然不是一个确切的答案,但仍然有效。

你永远不可能让Flash中的字体看起来与它们在Photoshop中完全一样。 Photoshop使用比Flash更高级的字体渲染技术。这主要可能归因于Flash中的文本可以是动态的并且可以被动画化。在这些条件下,Photoshop使用的抗锯齿可能无法很好地处理。或者Adobe没有看到实现与Photoshop匹配的字体渲染的价值(不太可能)。

我在一家设计机构工作,甚至无法想象我告诉设计师他们的字体在Flash中看起来与在Photoshop中不同的次数。这是我们所有人必须应对的问题。

话虽如此,你可以经常通过Jeremynealbrown提出的技巧接近,并且通常就足够了。


感谢您的解释,我实际上使用了上面的技术,并且像您说的那样接近了。确实不是完美的,但对我来说还不错。 - Michael Pliskin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接