日本語プログラミング言語なでしこの公式掲示板

なでしこ1 質問

トップ 新規 検索

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-高さ刻み値×(前回拡大値-拡大バーの値)
    幅拡大値=-幅刻み値×(前回拡大値-拡大バーの値)
    高さ拡大値=-高さ刻み値×(前回拡大値-拡大バーの値)  
  前回拡大値=拡大バーの値


#処理部
表示初期値する
表示拡大する


補足:
母艦をスクロールさせいない事には拘りません。スクロールした後、高速で元の位置を注目させることが出来ればそれでも構いません。

(編集パスワード送信)

親記事

この内容(No.1464)に返信

この内容(No.1464)をダウンロード

この内容(No.1464)のテキスト表示

子記事

1467 Re②:【解決】イメージ(部品)の特定の位置を注目させ続けたい。 (22-08-24)
1466 Re①:イメージ(部品)の特定の位置を注目させ続けたい。 (22-08-23)
1465 Re①:イメージ(部品)の特定の位置を注目させ続けたい。 (22-08-23)




www.eznavi.net