2

グラフィックの描画や無効化/検証にwindowsgdi領域を使用することがあります。たとえば、プログラムhttp://www.maxerist.net/main/soft-for-win/tubicus(oss)は、領域のみを使用して作成されました(ビットマップやオフスクリーンバッファーは使用されていません)。描画はFillRgnとFrameRgnで作成され、無効化とペイントはInvalidateRgnとCombineRgnで作成されました。すべてのセル(スクリーンショットを参照)は、CreateEllipticRgn、CreatePolygonRgn、CombineRgnで作成された単純な領域です。

Linuxに移植する予定です。私が理解したように、Linuxには多くのグラフィックライブラリがあります。Windowsのような領域をサポートするものはありますか?

ありがとう

4

2 に答える 2

2

グラフィックプラットフォームとして、X Window System、別名X11を使用したいとします。そのクライアントライブラリはXlibと呼ばれます。プラットフォームは多角形の領域をサポートします。

Xlib上に書かれた多くのライブラリ(Gtk、Qt、wxWindowsなど)がありますが、いつでも低レベルのXlibAPIをそれらのいずれかで直接使用できます。Qtは楕円領域もサポートします。詳細はわかりませんが、X11ポリゴン領域の上に実装されていると思います。

于 2011-06-02T13:52:08.810 に答える
1

Qt にはペイント用のオプションが多数あり、オブジェクトでの使用QPainterQPainterPath適している場合があります。(Qt ディストリビューションにサンプルがあります)。パスを結合 (追加/交差/置換) できます。

これQGraphicsView frameworkも良い代替手段です。

于 2011-06-02T13:44:33.253 に答える