PyQt でベクターオブジェクト作成ツールを作る # 目次 version 1
:追加された部分
:削除された部分
(差分が大きい場合、文字単位では表示しません)
PyQt でベクターオブジェクト作成ツールを作る 目次 # prog
190717
- foobarのalternative、画像enhancerが一段落したので別のツールを作りたいなと思い、ベジェでグリグリを生かしてベクターツールを作ることにした
- オーサリングツールだから、動的にベジェポイントを増減させて、保存読み込みにも対応しなければならない
- 難しいと思ってたんだけど今日考えてたら構想がまとまってきたのでやってみる
このベジェの描画はこんな感じ
path(1)
path.cubTo( 2,3,4)
path.cubTo(5,6,7)
①を起点として設定、その後キューブは ②-④ とパスに追加する
その時点で終点④が起点に変わっており、次に⑤-⑦とキューブを描く
→ ポイントをリスト化してイテレータにしてパスオブジェクトを作って最後にドローする
リストの 3n + 1 が常に起点となり、そのプラスマイナス1 は常に CP となる
リストのlengthは3n+1 となり、それ以外だと描画できない
→ 起点を常に描画しておく、起点を選択したら±2のCPを表示する
→ 選択点のドラッグでポイントを更新、その都度パス作成、描画
→ ctrl+click でそこを終点とするポイントを3つ加える、CPは直線上におく
このリストを保存出来るようにしておく、pickel でいけるかな??
ウイジェットクラスとして作成する、コンテキストメニューで操作する
→ シフトで③⑤のポイントをシンメトリに操作する
****パスを閉じる???
190717
- foobarのalternative、画像enhancerが一段落したので別のツールを作りたいなと思い、ベジェでグリグリを生かしてベクターツールを作ることにした
- オーサリングツールだから、動的にベジェポイントを増減させて、保存読み込みにも対応しなければならない
- 難しいと思ってたんだけど今日考えてたら構想がまとまってきたのでやってみる
このベジェの描画はこんな感じ
path(1)
path.cubTo( 2,3,4)
path.cubTo(5,6,7)
①を起点として設定、その後キューブは ②-④ とパスに追加する
その時点で終点④が起点に変わっており、次に⑤-⑦とキューブを描く
→ ポイントをリスト化してイテレータにしてパスオブジェクトを作って最後にドローする
リストの 3n + 1 が常に起点となり、そのプラスマイナス1 は常に CP となる
リストのlengthは3n+1 となり、それ以外だと描画できない
→ 起点を常に描画しておく、起点を選択したら±2のCPを表示する
→ 選択点のドラッグでポイントを更新、その都度パス作成、描画
→ ctrl+click でそこを終点とするポイントを3つ加える、CPは直線上におく
このリストを保存出来るようにしておく、pickel でいけるかな??
ウイジェットクラスとして作成する、コンテキストメニューで操作する
→ シフトで③⑤のポイントをシンメトリに操作する
****パスを閉じる???