使用 GlowFilter实现字体沟边与发光

如果你正在使用 Flash,那么实现下面一个字体效果是一件十分简单的事情:

image

textfield.filters = [ new GlowFilter(0, 1, 2, 2, 10) ];

这样就可以了,接着把字体设置成宋体12号,颜色是0xffff99,就成了。

image

如果要实现上面类似QQ面板的发光效果,也只需要一行:

textfield.filters = [ new GlowFilter(0xffffffff, 1, 6, 6, 0.9) ];

看起来这个 GlowFilter是无所不能呀,那么如果你在使用C++的话,如何用C++来实现一个Glow效果呢?

而且如果你正在使用3D引擎的话,如何用GPU来实现上面的效果呢?详细见下文:

TO BE CONTINUE….

Loading

About skywind

Putty 本无树,MinGW 亦非台
This entry was posted in 图形编程. Bookmark the permalink.

5 Responses to 使用 GlowFilter实现字体沟边与发光

  1. haha says:

    testing

  2. rayking says:

    我考,居然没有下文了

  3. skywind says:

    @rayking
    亲,C++版本简单说就是维护一张初始值为0的亮度值表格,枚举图片上所有点,如果图片上有点: alpha>0,那么再该点周围画几个像素的园(用加法画到亮度表上,离圆心越近,加上去的值越大),
    最终得到一张两度表,用它和颜色做乘法得到一张RGBA32的掩莫,就是GlowFilter的效果图!

  4. dalton says:

    @skywind
    我感觉adobe的做法应该不是这样的,因为可以明显看到adobe的发光滤镜是有模糊参数的,所以我预估是在底部多绘制了一个模糊版的自己,这样效果好点,但是也比较慢。

Leave a Reply

Your email address will not be published. Required fields are marked *