2022-07-23 11:19:04
アクティブ窓をスクショする時のサイズ反映について
スクリーンショットをとるツールを作成しようとしています。 動作内容としては、 ①アクティブな窓のサイズを取得 ②保存イメージを一旦そのサイズに変更する(xとyの値を代入) ③キャプチャ実施してJPG書き出し といった流れです。 下記のように作成して、一通り動作はできているのですが、 連続動作をさせているとき、保存イメージのカンバスサイズの情報がうまく反映されず、ひとつ前の動作時のサイズが残ってしまう、という状態になります。 たとえば、 1枚目:800x600 → きちんと800x600で書き出される。 2枚目:420x330 → 800x600で書き出される(1枚目の設定が引きずられる)。 3枚目:300x400 → 420x330で書き出される(2枚目の設定が引きずられる)。 4枚目:300x400 → 300x400で書き出される(3枚目の設定が引きずられる)。 ... といった具合です。 同じ窓を開いたままで連続実行すればカンバスサイズは正常なものが取れるので、 実用上は問題ないといえばないのですが、ものすごく気持ち悪いです。 ご助力いただけると幸いです。よろしくお願いいたします。 ------------- 保存ファイル名=「{デスクトップ}スクショ{連番}.jpg」 窓アクティブタイトル取得。 窓名はそれ。 窓名のX,Yを窓ハンドル画面座標計算 窓寸法はそれ。 保存イメージのサイズは「0,0,{窓寸法}」 保存イメージへ「{窓名}」を窓キャプチャ。 保存イメージを保存ファイル名に画像保存。 保存イメージを画面クリア。 連番=連番+1 1秒待つ ----------------- |