zoukankan      html  css  js  c++  java
  • 1.0版本字体输出,完成度80%,具备可用性

    image

    创建绘制用字体,输出32点阵。

    image

    使用字体输出字符串

    %)KX)L[RE20QU2}5~2Y@4RA

    使用效果,后面的部分无视,那是用轮廓信息简单建模绘制的。

    image 粗版雅黑image 普通雅黑

    微软雅黑也被我们征服了

    1.0版本 基本完成,可以实用化了。

    关于填充,扫描线填充还有bug,偶尔会有无法判断准确的问题,这也和输出大小有关,输出的尺寸小容易发生这种问题。虽然是浮点型,但在值过于接近的情况下判断也容易有问题,还有两个共点的线也许会同时判断为和一条扫描线碰撞,这个问题必须要考虑线段的连续性和方向性。

    这需要修改一下边界的搜寻方式,另外我仔细思考过这个问题,可以高效的生成点碰撞信息,可以将填充性能提高一个数量级,还有很大的优化空间,请允许把优化的问题留到2.0版本再说。

    关于抗锯齿,这里使用了一个小小的花招,c#的性能我们不去谈他,这里利用了GPU对贴图的双线性过滤来做了抗锯齿,这就无关乎c#性能了,这个方法还是挺不错的,对于c#的开发,我无时无刻不在考虑GPU能帮我们做什么。

    关于性能,扫描线填充太不高效了,即使将来优化成了高效的方式,我们也不可能频繁的创建字模。

    目前实现了一个静态字模缓冲机制,font内部自动管理多张贴图缓存字模,第一次使用的字模会缓存起来。

    第二次绘制同一个字的时候,就是贴那么大一张图而已,损耗非常的低。请放心使用。

    特此声明:非商业使用,请在作品中表明来自 疯光无线。

    商业使用,联系本人,1.0版本的库定价99美金,便宜不。

  • 相关阅读:
    Spring MyBatis多数据源分包
    ubuntu Ngin Install
    Ubuntu16.04开启root用户,并远程登录
    ubuntu16.04LTS更换阿里源
    修改DIV滚动条样式
    Spring-Boot配置文件数据源配置项
    Springboot 版本+ jdk 版本 + Maven 版本的对应关系
    CAS配置(3)之restful-api接入接口
    Java.Cas4.0客户端接入配置
    Java.HttpClient绕过Https证书解决方案二
  • 原文地址:https://www.cnblogs.com/crazylights/p/1868473.html
Copyright © 2011-2022 走看看