如何在AS3中给文本添加描边?

3
我正在使用AS3编程,并希望为显示在屏幕上的文本添加描边。我的当前代码如下:

format = new TextFormat("BN Elements", 14, 0xEEEEEE, false, false, false, null, null, "left");
format.font = "BN Elements"
scoreText = initText(starsleftText, format, "", 160,5, 545, 61);
scoreText = "Stroke This Text";

由于该文本是动态生成的,因此我无法在Flash IDE中创建它作为文本对象 - 在那里我知道如何添加描边,我可以使用“发光”功能设置为1000%和低质量。
我想我的问题是,如何直接在AS3中应用具有类似属性的“发光”滤镜效果?或者是否有我不知道的替代“描边”功能?
3个回答

4

1
我不知道我是否会说“同样好”... 我花了很多时间尝试让基于发光的文本描边与Illustrator中完成的组件匹配。 - Tim Keating
我觉得你误读了我的评论,我说的是它会“也”添加,而不是“仅仅”添加。 - quoo
1
谢谢您的反馈,但我熟悉英语。在您的原始回答中(而不是您的评论),您说“但是发光滤镜'描边'与代码一样有效。”对此,我回应说,发光滤镜确实可以使用,但它远远不如真正的文本描边机制有用。 - Tim Keating
1
网站已经崩了。这就是为什么你不应该用链接回答问题的原因。 - user773737
1
你因为语言特定文档的链接不再有效而对一个七年前的问题进行了负面投票? - quoo
显示剩余2条评论

1

Flash从形状的边缘生成其笔画。由于您正在动态使用文本(而不是在创作中),因此Flash可以使用以下两种方式呈现:1)由操作系统绘制的设备文本,或2)嵌入到SWF文件中的文本。在第一种情况下,Flash目前无法访问边缘以进行描边。在第二种情况下,Flash使用专门的子渲染器来处理文本,但(目前)不支持描边,或者说除了纯色填充之外什么都不支持。

简短回答:目前运行时不支持文本描边,尽管建议采用发光或像素渲染方法。


0

然而,还有另一种方法。通过BlurFilter显示笔画可以实现,但这种方法不够干净且非常缓慢,因为需要进行大量像素处理,这是完全没有必要的。

另一种选择(快速和方便的)是使用Pixel Benders PBJ Filters。我自己编写了一个笔画滤镜,它非常好用。您甚至可以隔离原始图像,这样滤镜只会给出轮廓,而不包括原始图像。

参数如下:

pixel4颜色

float强度

float阈值

bool隔离

http://www.file-upload.net/download-7344877/Stroke.pbj.html

在此下载并根据需要使用,如果您喜欢。

如果您不知道如何在Flash中使用Pixel Bender滤镜,可以通过谷歌搜索来获取帮助。有很多关于它的教程。


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