linux – X11中的消除锯齿的文本

我正在尝试使用Xlib来深入了解Linux GUI程序的工作原理.我写了一个简单的程序,在一个窗口中显示“Hello,world”,但它看起来很不合时宜,因为文本没有消除锯齿.

在X11中显示消除锯齿文本的最佳方法是什么?如何在GTK,Qt和其他工具包中实现抗锯齿?

最佳答案
X协议的文本呈现工具不支持抗锯齿,现在使用不多. (我认为原因是X字体协议没有任何alpha通道的位置.)

GTK和Qt使用FreeType库在客户端渲染文本,得到带有alpha通道的像素图作为结果.如果X服务器支持RENDER扩展,则客户端可以将该pixmap发送到服务器,以使用其alpha通道将其混合到显示器上.如果X服务器不支持RENDER,则客户端必须检索要显示文本的屏幕区域(基本上采用小屏幕截图),进行alpha混合客户端,并发送生成的不透明像素图返回要显示的X服务器.

相关文章

在Linux上编写运行C语言程序,经常会遇到程序崩溃、卡死等异...
git使用小结很多人可能和我一样,起初对git是一无所知的。我...
1. 操作系统环境、安装包准备 宿主机:Max OSX 10.10.5 虚拟...
因为业务系统需求,需要对web服务作nginx代理,在不断的尝试...
Linux模块机制浅析 Linux允许用户通过插入模块,实现干预内核...
一、Hadoop HA的Web页面访问 Hadoop开启HA后,会同时存在两个...