【19問目】博士の一問一答~画面を画像で保存したい
2023.12.18
今回のお悩み
博士、お久しぶりです。
ちょっと相談があるんですよ。
ほう、今回は一体どんな内容じゃ?
プリントスクリーンのキー押して画面のキャプチャをするんですけど
たまに要らないウィンドウが被ったりしてて困るんですよね。
何か良い方法知ってるんじゃないかと思って。
なるほどなるほど、エミュレーションを使っているんじゃな。
しかしキャプチャを撮るという目的ならライブラリで一発じゃぞ。
え!うそ!?
では実際に使って見せよう。
問
画面を画像で保存したい
現在の画面をキャプチャする
画面のキャプチャ(スクリーンショット)は、ロータス君のようにエミュレーションで撮ることができます。
このようにエミュレーションノードにプリントスクリーンのキーをセットすることで、人の操作と同様にキャプチャが可能です。
この方法でも構いませんが、これを画像として保存したい場合などは
ペイント等を使用したりとさらにひと手間必要になります。
そんな時は「画面キャプチャ(デスクトップ)」のライブラリが便利です。
実はこれ、昔は無かったライブラリなのじゃ。
といってもかなり前じゃが・・・。
画面キャプチャ(デスクトップ)
このライブラリは、今現在の画面の状態をそのままキャプチャして画像として保存します。
ライブラリ名にはデスクトップと付いていますが、デスクトップだけが撮られる訳ではありません。
画面に表示されているもの全てがキャプチャされます。
ライブラリは以下の場所に格納されています。
NTTATライブラリ > 16_画面キャプチャ色判定 > 画面キャプチャ(デスクトップ)
プロパティは次のように、保存したい画像の名前を保存場所を含めたフルパスで指定します。
試しにこの設定で実行してみると「C:\WinActor塾\画面キャプチャ」に「test.png」という名前で保存されます。
必ず拡張子も含めて設定してください。
画像の中はこのようになります。
画面をそのままキャプチャするので、実行中のWinActorを最小化していないとこのように写ります。
任意の画面をキャプチャする
ロータス君の困りごとは余計なウィンドウをキャプチャしてしまうということでした。
そのような場合は、指定したウィンドウのみをキャプチャできるライブラリを使用しましょう。
画面キャプチャ(指定画面)
このライブラリは、ウィンドウ識別名を設定することで特定にウィンドウのみを画像として保存する機能を持ちます。
複数の画面を同時にキャプチャすることはできませんが、個別に保存したい場合はこちらを利用しましょう。
ライブラリは以下の場所に格納されています。
NTTATライブラリ > 16_画面キャプチャ色判定 > 画面キャプチャ(指定画面)
プロパティの設定項目は、下図の赤枠の部分「ウィンドウ識別名」を追加で指定してあげる必要があります。
ファイル名は先ほどと同様に、保存したい画像の名前を保存場所を含めたフルパスで、拡張子を付けて指定しましょう。
タイムアウト設定は任意です。空欄で構いません。
答
画面キャプチャ系のライブラリを駆使するのじゃ!
いいライブラリがあるもんだ。
かなり昔からWinActorを使っている方は
もしかしたら気付いていないかもしれんのう。
正直見逃してるの多いかも。
WinActorのライブラリが豊富すぎるのが悪いんですよ。
悪くはないじゃろ・・・。
意外とライブラリだけで解決するパターンは多いからのう。
長く使ってくれているユーザの皆さんも、ライブラリは少しずつ増えておるから
たまにはいろいろと眺めてみるとよいかも知れんな。
関連記事こちらの記事も合わせてどうぞ。
2024.10.18
【26問目】博士の一問一答~特定の範囲だけテスト実行したい
2024.08.01
【25問目】博士の一問一答~新バージョンにアップデートしたい
2024.07.01