2 Stimmen

Äquivalent zu Windows gdi Regionen unter Linux

Manchmal verwende ich Windows-Gdi-Regionen für das Zeichnen von Grafiken und die Invalidierung/Prüfung. Zum Beispiel das Programm http://www.maxerist.net/main/soft-for-win/tubicus (oss) wurde nur unter Verwendung von Regionen erstellt (keine Bitmaps oder Off-Screen-Puffer). Die Zeichnung wurde mit FillRgn und FrameRgn gemacht, Invalidierung und Malerei mit InvalidateRgn und CombineRgn, jede Zelle (siehe Screenshot) ist eine einfache Region mit CreateEllipticRgn, CreatePolygonRgn und CombineRgn erstellt.

Ich habe Pläne, es auf Linux zu portieren. Wie ich verstanden habe, gibt es viele Grafikbibliotheken in Linux. Gibt es welche, die Windows-ähnliche Regionen unterstützen?

Gracias

2voto

Sie möchten das X Window System, auch bekannt als X11, als Grafikplattform verwenden. Seine Client-Bibliothek heißt Xlib. Die Plattform unterstützt polygonale Regionen.

Es gibt viele Bibliotheken, die auf Xlib aufsetzen (Gtk, Qt, wxWindows und andere), aber Sie können die Low-Level-API von Xlib immer direkt mit jeder dieser Bibliotheken verwenden. Qt unterstützt sogar elliptische Regionen. Ich weiß nicht, die Details, aber ich vermute, es ist auf X11 polygonalen Regionen implementiert.

1voto

Mat Punkte 195740

Qt hat viele Optionen zum Malen, und mit QPainter con QPainterPath Objekte könnten gut zu Ihnen passen. (Es gibt Beispiele in der Qt-Distribution). Sie können Pfade kombinieren (addieren/überschneiden/substituieren).

En QGraphicsView framework ist ebenfalls eine gute Alternative.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X