web-dev-qa-db-ja.com

スケーリングが有効になっている高DPIで「100%サイズ」でスクリーンショットを撮る方法は?

一見単純なことですが、私には理解できません。

私は、125%のスケーリングを有効にしている高DPIモニターを搭載したWindows10を使用しています。スクリーンショットは、Paint.NETなどのローカルアプリでも見栄えがよく(鮮明で正しいサイズ)、高いDPIも考慮されていますが、オンラインで投稿すると、たとえばここでは大きすぎてぼやけています。

too large and blurry

私はそれを理解しました、すべてがWindowsによって125%大きくなるので、結果は私がローカルで見るものより1.25倍大きくなりますが、結果は単に良く見えません。 0.8(= 1/1.25)の係数でダウンスケールしようとしましたが、結果は再び大きくありません(自然なサイズですが、少しぼやけています)。

downscaled

舞台裏でのDPI計算を理解しており、結果はWordの数学的な意味で「正しい」ことを強調する必要がありますが、スクリーンショットを読者に見栄えよくする方法を探しています(良い=撮影されたかのように) 100%DPIスケーリングのシステムで)。

(DPIを変更してWindowsから毎回ログアウトすることは、私にとって実用的なオプションではありません。)

6
Borek Bernard

私もこの問題の良い解決策が欲しかったのですが、それが存在するとは思いません。私がそう思う理由を以下に説明します。

Windowsに125%のスケーリングを指定すると、Windowsは1.25ピクセルを超えるすべてのピクセル、または5を超える4ピクセルごとにスミアすることを意味します。これにより、画面が大きく見え、実際には小さくなり、テキストが読みやすくなります。

しかし、これはまた、ディスプレイに表示されるものが処理されたバージョンであり、ピクセルがコンテキストから補間されているため、すべてが少しぼやけます。そのため、元のピクセルが1つも残っていませんアプリケーションによって描画されます

スクリーンキャプチャが行うことは、単にスクリーンからピクセルをコピーすることです。アプリケーションによって発行された元のコンテンツにアクセスする方法がないため、実際にできることはこれだけです。 125%のスケーリングでは、元の4ピクセルごとに5ピクセルになります。

キャプチャされた画像のスクリーンショットを80%縮小すると、これらの5ピクセルが4に戻りますが、これは画像の別のサイズ変更とピクセルの別の補間であるため、ピクセルは元のピクセルからさらに離れています。

画面を100%に拡大縮小してスクリーンショットを撮る以外は、この複雑さに対する解決策は見当たりません。最新バージョンのWindows 10では、すぐに再起動したり、再ログインしたりする必要がありません。 Greenshot などのスクリーンキャプチャプログラムを使用して、結果の小さな画面を補正できます。このプログラムは、カーソルが置かれている画面領域の拡大鏡を表示します。

再起動せずにモニターでサポートされている他の画面解像度に変更できるプログラムがありますが、Windowsのスケーリングはソフトウェアで行われるのに対し、ハードウェアソリューションであるため、解決策になることはめったにありません。これを例を挙げて以下に説明します。

たとえば、画面の解像度は3840x2160で、スケーリングは150%に設定されています。そのスケーリングにネイティブに一致する解像度は2560x1440ですが、この解像度はディスプレイアダプターでネイティブにサポートされていないため、変更できません。簡単に確認できるため、ご使用のアダプターでは状況が異なる場合があります。

マイクロソフトがWindowsの将来のバージョンで提供することを決定しない限り、スケーリングを一時的に100%に変更することを除いて、この問題に対する他の満足のいく解決策は実際には見当たりません。

2
harrymc