(O+P)ut

アウトプット



(O+P)ut

エンジニアのアウトプット

【SikuliX】スクリーンショットを取得しようとすると画面のサイズが大きくなる

スポンサーリンク

事象

SikuliXIDEの画面サイズが他アプリと異なっており、「スクリーンショットを撮る」を選択すると画面サイズが大きくなる。

原因

根本原因は以下と同様でWindowsの高DPI設定と考えられる。

ただ、今回はSikuliXの実行ファイルがexeではなくjarなのでプロパティから変更することはできない。

解決策1

システム>ディスプレイ>拡大縮小とレイアウト にて 「テキスト、アプリ、その他のサイズを変更する」で値を150%から125%に変更。

解決策2

実行しているjava.exeの

プロパティ>互換性>高DPI設定の変更>高DPIスケールの上書き

にてアプリケーションを選択してチェックを入れ、適用を行う。

f:id:mtiit:20201101075950p:plain
高DPIスケール設定の上書きにチェック

以下、補足です。

補足

以下の特殊な条件かもしれませんが本事象が発生しました。

  • Windows10
  • Java 8
  • SikuliX 2

試行錯誤しましたが、システム設定で画面全体のサイズを変えれば解決しました。

ネット上にて以下をjarファイル起動時に付与すれば解決するという報告もありましたが私の環境では利きませんでした。

 -Dsun.java2d.dpiaware=false

拡大縮小レイアウトが150%が推奨値だったのでそのようにしていましたが、少なくともSikuliXでスクリーンショットを撮る際及び実行する際はレイアウトを変える必要がありそうです。

解決策2にあるように、Javaのexeファイルでプロパティを変更した場合は同プログラムを開いた際の画面だけレイアウトが小さくなります。(コメント欄に参考のリンクがあります。補足コメントありがとうございました)