CEGUI字体阴影描边实现及载入优化

CEGUI的字体效果(包括阴影, 描边等)其实也可以不修改代码, 只需修改或创建自定义looknfeel就可以简单快捷的实现(我使用的是0.75版本).在这里以修改WindowsLook.looknfeel中的WindowsLook/StaticText作为演示.

1.阴影效果

阴影的实现方式是将字体画两次, 第一次将字体偏移一定位置,并渲成黑色, 第二次将字体以设定的颜色渲染.

(第一个TextComonent的是画阴影, 相对于左上角偏移量为2(左图), 第二个TextComonent是画字体的(右图))

2011013121361219.jpg2011013121374452.jpg

 

没有阴影(图1)和有阴影(图2, 3)的截图效果对比:

2011013121504234.jpg   2011013121523623.jpg2011013121542260.jpg

            (1)                                           (2)                                   (3)

 

2. 描边效果

描边的实现方式和阴影相似, 不同的是描边需要渲8次, 每次在不同的方向作相应的偏移(8个偏移方向分别是左上, 上中, 右上, 左中, 右中, 左下, 下中, 右下).

没有描边(左图)和有描边(右图)的截图效果对比:

2011013122183715.jpg2011013122163646.jpg2011013123544029.jpg

                                                   (偏移量为1)                          (偏移量为0.5)

 

CEGUI默认的字体载入方式是一次性读取所有字体信息,并将字体渲染到imageset中,当需要渲染字体时直接将imageset中的字体图片渲染到目标位置.但是用这种方式处理中文,你会发现在载入字体以及释放字体资源时需要花相当长的时间. 所以就需要对默认的处理方式作一些修改, 我的处理方法是修改CEGUI中FreeTypeFont的rasterise函数, 将imageset的大小固定为512*512.在需要显示字体时才生成FontGlyph,并把字体添加到imageset中,这样速度会有很明显的提升.

转载于:https://www.cnblogs.com/vibilin/archive/2011/01/31/1948476.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值