実行時に画像をマウスで拡大縮小するには?

解決


VB2005初心者  2006-03-20 19:30:28  No: 94661

ピクチャーボックスの画像や
実行時にマウスで自由にサイズの変更が出来るように
する処理を作りたいと思っております。

ドロー型ソフトやエクセルで画像を表示した時のように
画像の4つ角に印が出るとベストです。

バージョンはVB2005を使用しております。

ご存知の方がおりましたら回答よろしくお願い致します。


.  2006-03-20 20:51:22  No: 94662

そういうコントロールとかは知らないので、いま思いつきでスマンが
パッと思いついた方法

理論型でマウスが押されているか否かのグローバル変数(説明上「b」とする)と、
Point型でマウスの座標保存用のグローバル変数(説明上「p」)を用意

ピクチャーボックスのMouse_Down(マウスのボタンが押された)イベントで
左上から4ピクセルくらいずらしてピクチャーボックスより8ピクセル分小さい四角形内にマウスが入っていなくて左ボタンが押されていればbにTRUEを、pに現在のマウスの座標を代入しておく。

更にピクチャーボックスのMouse_Up(マウスのボタンがはなされた)イベントで
bをFALSEにする

あとはForm1_MouseMove(マウスが動いた)イベントか何かで
bがTRUE(マウスが押されてサイズ変更中)なら
pの内容と現在のマウスの位置からサイズを変更できる

ついでにピクチャーボックスのMouse_Enterで座標に応じてマウスカーソルを変更する処理も必要

  #イベント名とか間違ってたらごめん


VB2005初心者  2006-03-20 21:18:43  No: 94663

早速のご回答ありがとうございます。
まずはじめに質問に誤字がありましたことお詫びいたします。

また、現在のピクチャーボックスの処理を記載するのを忘れておりました。申し訳ありません。
現在  Mouse_DownとMouse_Upの処理を利用して
ピクチャーボックスを自由に移動できる処理を入れております。
これは「.さま」がご提案してくださいました、「画像の拡大縮小処理」と同じようなアルゴリズムになると思います。

これを踏まえて「画像の移動処理」と「画像の拡大縮小処理」を共存出来るような方法はありませんでしょうか?
あらためてよろしくお願い致します。

-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/
ピクチャーボックスの画像を  ←※誤字がありました><
実行時にマウスで自由にサイズの変更が出来るように
する処理を作りたいと思っております。

ドロー型ソフトやエクセルで画像を表示した時のように
画像の4つ角に印が出るとベストです。

バージョンはVB2005を使用しております。

ご存知の方がおりましたら回答よろしくお願い致します。
-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/-*/


我龍院忠太  2006-03-20 23:47:42  No: 94664

Excelに画像を一枚貼り付けて、移動したり、拡大縮小
したりしてみて、それを参考に同じ動きになるように
自分で仕様書を書く。
その中で自分には実装出来そうも無い動作が有ったら
それを質問しよう。


VB2005初心者  2006-03-21 00:56:24  No: 94665

. さま  我龍院忠太さま
回答およびアドバイスありがとうございました。
ピクチャーボックス上の座標を取得することによって
「画像の移動処理」と「画像の拡大縮小処理」の
2つの処理の切り替えが可能になりました。

ありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加