相当于linux中的windows gdi区域



我有时会使用windows gdi区域进行图形绘制和无效/验证。例如程序http://www.maxerist.net/main/soft-for-win/tubicus(oss)只使用区域(没有位图或屏幕外缓冲区)。该绘图使用FillRgn和FrameRgn进行,使用InvalidateRgn和CombineRgn进行无效和绘制,每个单元格(见屏幕截图)都是使用CreateEllipticRgn、CreatePolygonRgn和comineRgn创建的简单区域。

我计划将它移植到Linux。据我所知,Linux中有许多图形库。是否有支持类似窗口的区域?

感谢

您希望使用X窗口系统,也就是X11,作为您的图形平台。它的客户端库称为Xlib。平台支持多边形区域。

有许多库是在Xlib之上编写的(Gtk、Qt、wxWindows等),但您总是可以将低级Xlib API直接用于其中任何一个库。Qt甚至支持椭圆区域。我不知道细节,但我想它是在X11多边形区域之上实现的。

Qt有很多绘画选项,将QPainterQPainterPath对象一起使用可能非常适合您。(Qt分布中存在样本)。可以组合(添加/相交/子动作)路径。

QGraphicsView framework也是一个不错的选择。

相关内容

  • 没有找到相关文章