1

画像のパーツ (DrawImageまたはで作成されたものDrawString) を移動する簡単な方法はありますか?

私の賢明な考え:DrawImage(DrawString)描画された画像の幅、高さ、左、上を格納する機能を追加するメソッドをオーバーライドします (メソッドを使用する場合は、ブール変数「サイズ変更可能」である可能性がありますDrawImage) をオブジェクトのリストに追加します。関数 "WhatToMove" を PictureBox のMouseMoveイベントにアタッチします。このイベントは、保存されている四角形オブジェクトのリストを調べ、カーソルが上にある四角形を検出しますMouseDown。クリックすると。次に、MouseDown関数は新しい関数「MoverResizer」をMouseMoveイベントにアタッチします。これにより、画像の移動またはサイズ変更された部分で画像ボックスが再描画され、リスト内の適切な四角形オブジェクトが更新され、「WhatToMove」が からデタッチされMouseMoveます。の上MouseUpPictureBox の Leave イベントは、"MoverResizer" をデタッチし、"WhatToMove" をアタッチします。

このアイデアが実現できると思われる場合は、DrawImage をオーバーライドする方法を教えていただければ、本当に助かります。

私の愚かな考え:

テキストなしで境界線のあるラベルを作成し、PictureBox の適切な画像部分の上に配置します。次に、独自のイベントを使用して、ドラッグ可能でサイズ変更可能にします。次に、ラベルの位置を画像のパーツの位置に変換し、画像ボックスを再描画します。これは単純ですが、上記の方法ほど完璧ではないと思います。

4

0 に答える 0