相当于linux中的windows gdi区域

相当于linux中的windows gdi区域,windows,linux,graphics,lazarus,regions,Windows,Linux,Graphics,Lazarus,Regions,我有时使用windows gdi区域进行图形绘制和失效/验证。例如,程序(oss)只使用区域(没有位图或屏幕外缓冲区)。该图形由FillRgn和FrameRgn绘制,失效和绘制由InvalidateRgn和CombineRgn绘制,每个单元格(见屏幕截图)都是由CreateEllipticRgn、CreatePolygonRgn和CombineRgn创建的简单区域 我计划把它移植到Linux。据我所知,Linux中有许多图形库。是否有支持类似windows的区域 谢谢Qt有很多绘画选项,对对象使

我有时使用windows gdi区域进行图形绘制和失效/验证。例如,程序(oss)只使用区域(没有位图或屏幕外缓冲区)。该图形由FillRgn和FrameRgn绘制,失效和绘制由InvalidateRgn和CombineRgn绘制,每个单元格(见屏幕截图)都是由CreateEllipticRgn、CreatePolygonRgn和CombineRgn创建的简单区域

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


谢谢

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


也是一个很好的选择。

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


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

谢谢,你能在X11中说出一些与非矩形区域相关的东西(可能是函数名)吗?我以前找过,找不到find@Maksee当然
XPolygonRegion
创建多边形区域。