0 ベクタパス作成ツール 3

190719

動作の構想

  • マウスオーバーでパスを青、ポイントも描画、ただしコントロールポイントは描画しない
    pselected : -1
  • ポイント位置にマウスが来たらポイントを赤くしてコントロールを二本描画
    違うポイントに移るまでその状態を維持
    pselected >= 0 <--- pselected が -1 -2 になっても現在値を維持する
                       ±1 でも現在値を維持する
  • ポイント位置でクリックでポイント選択
    クリックした位置のヒット判定が0以上なら pmoving=それ
    変数は二つ必要になる

サブクラス

  • QPainterPath オブジェクトの派生クラスを作る
  • ポイントのrectを CP 含めて全て作成する
    本体の描画ルーチンからはクラスメンバとして参照させる
    本体の描画ルーチンで判断して CP 以外を描画する
    ヒット判定はメソッドとして呼び出す
  • 閉じたパスを実装
     フラグを持つ、閉じた場合で0が移動したら終点も同じ座標とする
  • ポイント移動メソッドは既にあるが独自に実装して、コントロールポイントを含めた平行移動やシンメトリ移動を実装する

パスの平行移動

  • 必要かな??
    void QPainterPath::translate(qreal dx, qreal dy)
    パス内のすべての要素を(dx、dy)だけ平行移動します。

--> PyQt でベクターオブジェクト作成ツールを作る #

0

メモを他の人に見せる

このメモを見せたい人に、このURL(今開いているページのURLです)を教えてあげてください

コメント(0)

  • someone

  • someone