gc9a01pyは大変有難いライブラリだが、四角と直線と点しか描けないのが弱点。
さすがに不便なので、円、楕円、三角を足した。
https://github.com/matsuura-h/gc9a01py/tree/main
以下は、ランダムに三角を表示している例。
効率のよい描画ロジックを1から作るのは大変なので、LovyanGFXのコードを参考にした。
CからPythonへの移植だが、すべてを手打ちすると大変なので、https://www.codeconvert.ai/c-to-python-converterで自動変換し、自動ではうまく動かない部分を手直しする。
ほとんどのコードはうまく自動変換できるけど、以下の2パターンだけはNGだった。
- do-while
- 対処方法:while Trueに書き直して、条件文を末尾にif not <condition>: breakとして追加する
- 入れ子になったインクリメントやデクリメント
- 対処方法:インクリメントやデクリメントを前出しもしくは後出しにする
一つ困っていることとして、gc9a01pyはMITライセンスだが、LovyanGFXはFreeBSDライセンスになっている。
こういうとき、どうやってライセンスを処理すればよいのだろうか?
また、私が移植した部分と元のコードは一体どのように扱うとよいのだろうか?
こういうとき、どうやってライセンスを処理すればよいのだろうか?
また、私が移植した部分と元のコードは一体どのように扱うとよいのだろうか?
0 件のコメント:
コメントを投稿