2022/03/25(金) [n年前の日記]
#1 [python] tkinterとpycairoで矩形分割処理の結果を表示
昨日、Python を使って矩形を分割していく処理を書き直したけれど。
_矩形を分割していく処理について実験中
_アルゴリズムについて
配列をずらずらと出力されても、それらしく分割されているのかさっぱり分からないので、tkinter と pycairo を使って結果を表示するようにしてみたい。
動作確認環境は以下。
とりあえず、それらしいスクリプトが書けたかなと…。
_04_pycairo_in_tkinter_with_rect2.py
_dividerectangle.py
04_pycairo_in_tkinter_with_rect2.py と dividerectangle.py を同じ場所に置いて、python 04_pycairo_in_tkinter_with_rect2.py を実行すれば動くかなと。
動作には pycairo と Pillow が必要。
Python 3.9.11 64bit は、以下で pycairo と Pillow がインストールできた。
Python 2.7.18 32bit は、Pillow については pip install Pillow でインストールできる。pycairo は、pygtk-all-in-one-2.24.2.win32-py2.7.msi を入手してインストールした。
_Index of /binaries/win32/pygtk/2.24/
_矩形を分割していく処理について実験中
_アルゴリズムについて
配列をずらずらと出力されても、それらしく分割されているのかさっぱり分からないので、tkinter と pycairo を使って結果を表示するようにしてみたい。
動作確認環境は以下。
- Windows10 x64 21H2 + Python 2.7.18 32bit + Pillow 6.2.2 + pycairo 1.8.10
- Windows10 x64 21H2 + Python 3.9.11 64bit + Pillow 9.0.1 + pycairo 1.21.0
とりあえず、それらしいスクリプトが書けたかなと…。
_04_pycairo_in_tkinter_with_rect2.py
_dividerectangle.py
04_pycairo_in_tkinter_with_rect2.py と dividerectangle.py を同じ場所に置いて、python 04_pycairo_in_tkinter_with_rect2.py を実行すれば動くかなと。
動作には pycairo と Pillow が必要。
Python 3.9.11 64bit は、以下で pycairo と Pillow がインストールできた。
pip install Pillow pip install pycairo
Python 2.7.18 32bit は、Pillow については pip install Pillow でインストールできる。pycairo は、pygtk-all-in-one-2.24.2.win32-py2.7.msi を入手してインストールした。
_Index of /binaries/win32/pygtk/2.24/
◎ 少し解説。 :
pycairo の描画結果(surface)を tkinter で表示できるように変換するあたりは Pillow を使う。RGBA と BGRA の違いがあるので注意。
_pycairoの描画結果をtkinterで表示
pycairo を使って角丸矩形を描画する処理は以前書いたものをコピペして使った。
_pycairoを勉強中
以下のページが参考になる。
_rounded rectangle
pycairo の使い方に関しては、以下のチュートリアル記事が参考になるはず。英語だけど、ソースとスクリーンショットを眺めれば、なんとなく記述の仕方が分かるのではないかと…。ちなみに、pycairo + PyGTK (PyGObject) を使って解説されてる。
_PyCairo tutorial
_pycairoの描画結果をtkinterで表示
pycairo を使って角丸矩形を描画する処理は以前書いたものをコピペして使った。
_pycairoを勉強中
以下のページが参考になる。
_rounded rectangle
pycairo の使い方に関しては、以下のチュートリアル記事が参考になるはず。英語だけど、ソースとスクリーンショットを眺めれば、なんとなく記述の仕方が分かるのではないかと…。ちなみに、pycairo + PyGTK (PyGObject) を使って解説されてる。
_PyCairo tutorial
[ ツッコむ ]
以上です。