使用Xlib启用抗锯齿

| 我正在尝试开发一套自定义的库,用于在Linux中使用小部件,按钮等来创建GUI。因此,我现在正在学习使用X11及其Xlib创建用户界面。我要说的是,要有一个漂亮的窗口,该窗口在指定的位置指定大小,指定的背景颜色,并可以绘制点,矩形,圆弧。但是,当我绘制第一个圆圈时,我对这个圆圈没有抗锯齿感到非常失望。我可以看到每个像素都是一个正方形。 现在的问题很简单。有什么办法告诉X:在绘制之前,请先消除锯齿吗?还是我必须避免使用XDrawArc并使用自定义函数来为圆的每个点调用XDrawPoint?还是有第三个解决方案? 提前致谢。     
已邀请:
        最简洁的答案是不\”。 Xlib不执行抗锯齿。 较长的答案是“您可以使用更高级别的API,例如Cairo Graphics”。不必自己动手。     
        您遇到的是X11核心协议的局限性;从技术上讲,完全可以在其中添加抗锯齿功能,但这并没有发生。 相反,这里有XRender扩展,它提供了很好的抗锯齿原语。您还需要研究Xft,以使用矢量字体呈现抗锯齿的文本。     
        您可以滚动自己的抗锯齿算法。您仅需要2个基元:1)绘制TrueColor点的函数(如果使用XCB,则为xcb_poly_point()),以及2)循环。     

要回复问题请先登录注册