概要
PC版ゲームのブログを書くにあたって、ゲーム画面のキャプチャは必須の機能である。 アクティブウィンドウの画面キャプチャには、 Windows10標準搭載「ゲームバー」のスクリーンショット機能が有用である。 しかし、これを使うとゲームウィンドウのタイトルバーも一緒にキャプチャされてしまうという問題がある。
自分はこの問題を解決するために、フリーソフト「Winshot」を導入している。 Winshotは非常に便利なソフトなのだが、更新がWindows XP時代に止まってしまっているため、 Windows10で思い通りに使うには設定を変更する必要がある。 本記事ではまず、自分のWinshotの設定を紹介したい。
また、自分が普段遊んでいるデュエル・マスターズ プレイスのPC版は、 画面サイズ設定の自由度がとんでもなく低い。 これを任意のウィンドウサイズで遊ぶため、今回新たにフリーソフト「Sizer4.0」を導入した。 ウィンドウサイズについて先述のWinshotと関連する部分が多いので、 Sizerの設定もついでに解説する。
おまけもあるよ。
DLリンク
Winshotの設定
スタートアップの設定
Winshotは、インストーラー不要のフリーソフトである。 ダウンロードしたら、適当なフォルダに保存しておけばよい。
常駐させておきたいソフトなので、 PC起動時(スタートアップ)に自動でソフトが起動するように設定する。
- Winshot.exeを右クリックし、ショートカットを作成する。
- ショートカットを、以下のフォルダの下に放り込む。
C:\Users\【ユーザー名】\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup
この方法は、Winshot以外でも使える。 「スタートアップに登録」の設定が無いソフトを常駐させたい場合は、上の方法で登録すると良い。 一度この作業をやったら、
タスクマネージャー起動 > スタートアップ タブ
から、スタートアップの有効/無効を設定できる。
使う機能
自分が普段使っている機能は、
の2つ。 前者は、一番手前で動作しているソフト(主にゲーム)のウィンドウをキャプチャする。 後者は、画面上の任意の範囲を長方形に切り抜いてキャプチャする。 いずれも、JPEG形式で自動保存してくれる。
これらを使うための設定は以下。 環境設定は、タスクトレイ内に常駐しているWinshotアイコンを右クリック。
- 「基本設定 タブ > ファイル自動保存」 で、保存先フォルダを指定。
- ホット・キー タブ で、好きなショートカットキーを割り当てる。
カット機能
Winshotには、キャプチャした画像を自動でトリミングしてくれる「カット機能」がある。 これをアクティブウィンドウキャプチャに使えば、 キャプチャ画像の枠部分(主にタイトルバー)をカットし、 アプリ本体の画面だけを一発で保存することができる。
ところで、Windows10環境で動かすWinshotのアクティブウィンドウキャプチャには、一つ重大な不具合がある。 それは、キャプチャした画像の周りに余白ができてしまうことである。
自分の環境でこれを解決するためには、やはり「カット機能」に頼るしかなかった。
よってここでは、次の2つの目的のためにカット機能を使う。
- タイトルバーを消す
- 不具合で出来る余白を削除する
そのためのWinshotのカット機能の設定はこちらである。
設定と内訳は以下の通り。
- 上:31px
- タイトルバー30px + フレーム1px
- 左右下:8px
- フレーム1px + 不具合余白7px
なお、フレームとは、ウィンドウの外側境界線を縁取っている線のことである。
標準のエクスプローラー画面・デュエプレでは、この値で1pxのずれもなくぴったりカットできた。 ただし、アプリによってはぴったりのカットが出来なかった。 使う前には念のため動作確認することをお勧めする。
ちなみに、Winshotの余白の不具合に関してググると、 カット機能以外にも2つの解決策が提案されている。 残念ながら、自分の環境では2つとも失敗した。 カット機能以外の方法で実際に解決した人も見当たらなかったので、 カット機能を使うほかないと思われる。
Windows10のWinShotでキャプチャの余白や見切れの対処法! | Aprico
不具合の要因
この後紹介するSizer4.0の詳細仕様ページを読んでいた時、 偶然にもこの余白不具合に関係しそうな記述を見つけた。
関係ありそうなところだけ抜粋すると、
Windows Vistaで導入されたデスクトップウィンドウマネージャーは、ボーダーシャドウや透明度など、さまざまな合成効果をサポートしています。Windows 10では、ウィンドウの境界線のスタイルが若干変更され、OSはウィンドウの長方形の周囲の小さな領域(通常は7ピクセル)を境界線の効果に使用します。そのため、Windows 10 では、標準的な API 呼び出しで得られるウィンドウ レクタングルは、実際に表示されるものよりも少し大きくなります。
とのこと。*1境界線の効果に使われるとされる7pxという幅は、Winshotの不具合余白の幅と一致する。 おそらく、Winshotの使っているAPIが、Windows10のウィンドウ境界の仕様変更に対応できていないのだと思われる。
なんでWinshotにこだわるの?
スクショ時にタイトルバーを自動で消してくれるソフトが、他に無いから。
Winshotには先に述べた「余白の欠陥」があるため、Windows10下で使うのには向かないはずである。 にもかかわらず、Winshotは今も愛用者が多いソフトのようだ。 それはきっと、Winshotにしかない機能があるからだろう。 キャプチャ画像のカット機能は、そのうちの1つなのだと思う。
実際、「Snapcrab」「Greenshot」といった他のキャプチャソフトもダウンロードしてみたのだが、 どちらにもタイトルバー除外や、キャプチャ画像のカット機能はなかった。 キャプチャ時にウィンドウのタイトルバーを自動で消したければ、Winshot以外の選択肢が無い。
ゲームバーキャプチャを併用せよ
ウィンドウで起動しているソフトウェアをキャプチャするときは、 カット機能を有効にしたWinshotを使えばよい。
一方、フルスクリーン画面をキャプチャしたいときは、画像をトリミングする必要はない。 ここでWinshotを使うと、無駄に画像がカットされてしまうことになる。 それを避けるため、フルスクリーンのキャプチャにはWindows10のゲームバーキャプチャを使うと良いだろう。
ショートカットコマンドは、「Win + Alt + PrintScreen」。
ウィンドウサイズとフルスクリーンのキャプチャ画像は同じフォルダに保存したいので、 自分はWinshotの保存先をゲームバーのキャプチャフォルダに指定している。
Sizer
スタートアップの設定
Sizerインストーラ版のデフォルトインストール先は、
C:\Program Files (x86)\Sizer
インストール時、「Start Sizer every time Windows starts」にチェックを入れれば、スタートアップに登録に登録できる。 忘れていた場合、再インストールしてもいいし、Winshotと同様の手順で登録してもよい。
使う機能
「Win + Ctrl + z」(デフォルト設定)を押すと、Sizerメニューが起動する。 メニューからウィンドウサイズを指定すると、アクティブウィンドウのサイズが変更される。 その設定でウィンドウ位置が指定されていれば、さらにそこへ移動する。
ウィンドウサイズの登録
ウィンドウサイズは、自分で新しく登録できる。 Sizerの環境設定 > Menu タブから、「Add Size」で新たなプリセットを追加し、以下を設定する。
- Description:プリセット名
- Width, Height:横幅、縦幅
- Move to:位置
- Relative to, Using:位置指定の設定(使ってない)
Left, Top:左上の座標指定
Don't resize window:サイズ変更せず移動のみしたい場合はチェックを入れる
Allow move outside screen bounds:画面外にウィンドウがはみ出るのを許可する場合はチェックを入れる。基本的に入れておいた方が良い。サイズ変更後のウィンドウがはみ出しそうになったとき、ここにチェックが入っていないと、画面内に収まるように強制的にリサイズされるので注意!
Shortcut key:ショートカットキーの設定
ここで設定するWidth, Heightは、タイトルバー・フレームを含むサイズである。 アプリ本体の画面サイズで調整したければ、
- Width = アプリ本体 + 2px
- Height = アプリ本体 + 32px
の値に設定する。*2 例えば、アプリ本体を 960x540 で起動したければ、(Width, Height) = (962, 572)とする。
その他設定
環境設定 > Options タブの、「Compensate for Desktop Window Manager frame effects」にチェックを入れる。 これを入れないと、画面の見た目通りにキャプチャすることができない。
Tooltipは、ウィンドウの端をクリックホールドしたとき、 ウィンドウのサイズおよび画面内位置を表示する機能。
各種ゲーム設定
ここからは、手持ちの各種ゲームに対してWinshot・Sizerを試したときの検証結果。 デュエプレ多め。
デュエプレ
PC版デュエプレの画面サイズ(ピクセル)は、下表のようになっている。
設定 | サイズ |
---|---|
大 | 1868x1050 |
中 | 1334x750 |
小 | 800x450 |
サイズ設定は、スマホ版の「画質:高・中・低」と連動している。 PC版を「小」にした場合、次にスマホ版を起動すると勝手に「低」になっている。
ウィンドウの端をつかんで自由にサイズ調整することができない。 通常だと、ゲーム内の設定画面で変更するしかない。 Sizerを使うことによって、ウィンドウサイズを強制変更可能。 Sizerで変更中にゲームの設定画面を開く、もしくはアプリを終了すると、変更が解除される。
ウィンドウサイズを変更すると、そのたびに画質が自動で調整される(Sizerの場合も)。
フルスクリーン(Alt + Enter)にすると、直前の画質がそのまま引き延ばされる。 サイズ:低でフルスクリーンにすると、低画質のままフルスクリーンになってしまう。
個人的に、画面サイズ周りの自由度の低さが非常に不満である。 画面サイズ:大からフルスクリーンにしたときも、画質が1920x1080そのものではなく、 1868x1050の画像を引き延ばしたものにしかならないというのは残念。 また、例えば唐突に画面をキャプチャしたくなった時(パック開封時など)、 運悪く画面サイズが小さいと、どうやっても高画質なスクリーンショットを撮ることができない。 今回Sizerを導入したのは、こういう点を解決するためだった。
しかしながら、
対戦のたびにサイズ変更がリセットされてしまう
という問題があることが分かった。これは、対戦毎に画面サイズ設定を読み込み直しているためだと思われる。今の所、ショートカットキー(を、登録したマウスの拡張ボタン)で毎回リサイズしている。
一応、自分がSizerに入れたのは、以下の3つのプリセット(画面サイズ:大中小に対応するものも入れてある)。
サイズ | 用途 |
---|---|
962x572 | 画面左半分にゲーム、右半分に他の何か |
1282x752 | HD画質 |
1922x1112 | フルHD画質。フルスクリーン時に最高画質に |
デュエプレの標準縦横比は16:9。 異なる縦横比をSizerで設定した場合、アスペクト比は崩れず、画面内の余白部分が増える。 極端に縦長・横長のサイズを指定すると、次のような画像になる。
ちなみに、横長時(縦幅360px)の画面領域は、
- 中央の絵がある部分:780x360
- その外の青い背景:972x360
となっていた。
DDLC
元からサイズ自由変更可能、Sizerでも変更可能。 フルスクリーンにすると、自動で最高画質になる。 デュエプレはこれを見習ってくれ。
↓ 昔に書いた記事。
ペルソナ4G
元からサイズ自由変更可能。 Sizerでサイズ縮小すると、右部分・下部分がブラックアウトすることがある(画像)。 手動でサイズ変更してやると直る。
ダンガンロンパ
サイズ自由変更不可。 Sizerで強制変更可能。 アスペクト比は崩れる。
Winshotのカット機能がぴったりではなかった。 タイトルバーが25px, 不具合余白が2px。
東方シリーズ
東方天空璋(th16)、東方虹龍洞(th18)でSizer・Winshotの動作を確認。 Sizerはアスペクト比が崩れうる。
天空璋より古い作品は、どちらのソフトも使えない模様。 天・虹の間にリリースされている、東方鬼形獣(th17)も何故かダメだった。 キャプチャしたければ「Win + Alt + PrintScreen」を使うしかないと思う。