2022-08-24 22:33:44
Re②:【解決】イメージ(部品)の特定の位置を注目させ続けたい。
ご教授頂きありがとうございました! 画像の拡大については、画面の移動に気を取られて気づきませんでした! 回答を参考に無事修正出来ました。 ご回答ありがとうございました! ああっ、「マウス移動した時」使ってるほんとうの意図は、もしかして四角をマウスに追随させたいんじゃ?! とゆうことにいま気がつきました💦
その場合は、「マウス移動した時」で四角を描き、「マウス押した時」で画像部分コピーと、分けてイベントを作ります。 マウス移動する毎に画像の設定し直しが発生するので、毎回ファイルからいちいち画像を設定すると、負荷が大きくまあまあ動きが悪くなるので、裏画面を用意して、バッファからの画像コピーにしたほうがよいです。 #--------------------------------------------------------- 画像1とはイメージ これについて 画像=「./〇〇.png」 マウス移動した時は 裏画面を画像1の0,0へ画像コピー。 塗りスタイルは「透明」 四角(マウスX,マウスY,マウスX+100,マウスY+100) マウス押した時は 裏画面を画像1の0,0へ画像コピー。 クリック地点X=マウスX。 クリック地点Y=マウスY。 画像1のクリック地点X,クリック地点Y,100,100を画像2の0,0へ画像部分コピー 裏画面とはイメージ これについて 可視はオフ。 画像=「./〇〇.png」 #--------------------------------------------------------- あと、うっかりしてたけど、画像後拡大させるバーがあるんですよね~☆ 「拡大機能」を使ってこれを実現させると、画像は見た目だけは拡大されますが、実際のサイズは変わってないんです。 それで、イメージ部品上の見た目上の座標と画像コピーや四角描画の座標が、ずれちゃいます。 もし、拡大バーで拡大させた画像から、見た目通りの位置とサイズでキャプチャするなら、「画像リサイズ」で画像そのもののサイズをかえます。 #--------------------------------------------------------- ●表示拡大 もし(拡大バーの値)が(前回拡大値)以上ならば 画像幅=表示初期幅+幅刻み値×拡大バーの値 画像高=表示初期高さ+高さ刻み値×拡大バーの値 幅拡大率=(画像1の幅)÷表示初期幅 高さ拡大率=(画像1の高さ)÷表示初期高さ もし(拡大バーの値)が(前回拡大値)未満ならば 画像幅=画像1のW-幅刻み値×(前回拡大値-拡大バーの値) 画像高=画像1のH-高さ刻み値×(前回拡大値-拡大バーの値) 幅拡大値=-幅刻み値×(前回拡大値-拡大バーの値) 高さ拡大値=-高さ刻み値×(前回拡大値-拡大バーの値) 画像1を、画像幅,画像高へ画像リサイズ。 裏画面を、画像幅,画像高へ画像リサイズ。 #--------------------------------------------------------- |