2022-08-23 00:39:56
イメージ(部品)の特定の位置を注目させ続けたい。
こんにちは。なでしこ1のプログラミングについて質問です。 プログラムの内容:画像をクリックすると画像上に四角を描画し、その四角で囲まれた範囲をキャプチャする 質問: イメージに画像を表示させ、その画像上でクリックした際に再度イメージに画像を設定するプログラムを組んでいます(前回の四角をいったん消すため)。 その際、どうしても母艦の画面が画像の描画先X,Yへ移動(スクロール)してしまいます。 母艦がスクロールしないようにする等して、特定の位置を注目させ続ける方法はありませんでしょうか。 若輩者で恐縮ですが、よろしくお願いします。 以下、コード 画像1とはイメージ これについて 画像=「./〇〇.png」 拡大機能はオン マウス移動した時は クリックした時は 可視はオフ 画面クリア 画像=「./〇〇.png」 可視はオン 0.1秒待つ クリック地点X=マウスX クリック地点Y=マウスY 画像1のクリック地点X,クリック地点Y,100,100を画像2の0,0へ画像部分コピー 塗りスタイルは「透明」 四角(クリック地点X,クリック地点Y,クリック地点X+100,クリック地点Y+100) 画像2とはイメージ これについて 可視はオフ 保存ボタンとはボタン これについて クリックした時は 画像2を「./キャプチャ.png」に画像保存 #バー ●表示初期値 表示初期幅=画像1の幅 表示初期高さ=画像1の高さ 幅刻み値=表示初期幅÷100 高さ刻み値=表示初期高さ÷100 拡大バーとはバー これについて W=170 変更した時は~ 表示拡大する ●表示拡大 もし(拡大バーの値)が(前回拡大値)以上ならば 画像1のW=表示初期幅+幅刻み値×拡大バーの値 画像1のH=表示初期高さ+高さ刻み値×拡大バーの値 幅拡大率=(画像1の幅)÷表示初期幅 高さ拡大率=(画像1の高さ)÷表示初期高さ もし(拡大バーの値)が(前回拡大値)以下ならば 画像1のW=画像1のW-幅刻み値×(前回拡大値-拡大バーの値) 画像1のH=画像1のH-高さ刻み値×(前回拡大値-拡大バーの値) 幅拡大値=-幅刻み値×(前回拡大値-拡大バーの値) 高さ拡大値=-高さ刻み値×(前回拡大値-拡大バーの値) 前回拡大値=拡大バーの値 #処理部 表示初期値する 表示拡大する 補足: 母艦をスクロールさせいない事には拘りません。スクロールした後、高速で元の位置を注目させることが出来ればそれでも構いません。 |