我正在开发一个小项目,我必须编写一个低级别的应用程序。我想在该应用程序中显示文本,我什至希望它是抗锯齿的(à la ClearType)。不允许使用任何库,我必须逐像素绘制每个字符。
执行此操作的最佳方法是什么?您能推荐一些已知的算法吗?我应该如何存储/读取字体?
谢谢!
最佳答案
您的意思是您只想平滑现有位图字体的边缘?如果您的原始字体是 16x32 并且您想以 8x16 或类似的尺寸渲染它,这很容易,但如果您一开始就没有更高分辨率的位图,则平滑是一项非常重要的操作,涉及大量猜测。在这种情况下,我会查找 2xsai 算法(它为此类事情提供了视觉上令人愉悦的结果)并首先执行它以将字体放大到双倍分辨率,然后将其缩小一个区域- 平均算法(即从 4 像素正方形的平均值中获取每个目标像素)。
我还建议保存最终的“抗锯齿”位图字体并在程序中简单地使用它,而不是在运行时执行所有这些工作。
关于c - 低级 C - 逐像素显示文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4179414/