Q
HDevelopの解析用ツールの一つとして、グラフィックスウインドウのマウス位置をズームする『拡大ウインドウ(Online Zooming)』があります。これは非常に便利なツールなので、ぜひ私の作成したアプリケーションでも実現したいのですが、残念ながらプログラムを実行形式で行う場合はHDevelopのこれらのツールが使用できません。この機能をHALCONのオペレータを組み合わせる事で実現できますか
A
HDevelopには幾つかの解析用ツールが準備されています。これらのツールを使用する事で効率的にプログラムを開発する事ができます。ただし残念ながら、これはHDevelopに用意された機能であり、実行ファイルでプログラムを実行する場合にはこれらのツールを直接使用する事ができません。
しかしながら、これらのツールもHALCONのオペレータの組み合わせで実現されているため、うまくオペレータを組み合わせる事で同じような機能をプログラムで実現する事ができます。
これは他の解析ツールにも同様の事が言えます。下記のサンプルプログラムでは、2つのウインドウを開いて左には元画像、右にはマウス位置のズーム画像を表示しています。マウスを元画像の上で移動させてみて下さい。プログラムを変更する事でズーム倍率等も変更可能です。
内容としてはget_mpositionというオペレータでマウス座標の位置を取得できるため、座標取得後その範囲の近くを拡大して表示することで実現できます。
ただしget_mpositionはhSmartWindowControlでは利用できないことにご注意ください。
関連オペレーター
get_mposition
copy_rectangle
ファイル
サンプルプログラムはMouseZoom.zipをダウンロードしてください。
mousezoom.dev
HDevelopの解析ツール・拡大ウインドウをプログラムで実現するプログラム
mousezoom.txt
HDevelopの解析ツール・拡大ウインドウをプログラムで実現するプログラム(テキスト形式)