スクリーンショットをベクターグラフィックスとして、またはネイティブよりも高い解像度で撮ることはできますか?


32

アプリケーションウィンドウのスクリーンショットを撮る必要があります。ノートパソコンの解像度が低いので、高品質の画像を取得したいです。

画面をベクターグラフィックス(EPS、PDF、SVGなど)として取得する方法はありますか?あるいは、ネイティブのものよりも高い解像度でスクリーンショットを撮る方法はありますか?

ネイティブ解像度は1366x768ですが、少なくとも4000x3000近くの解像度が必要です。



私はあなたの質問にWindowsを想定しました。そうでない場合は、編集してタグを付け直してください。
-slhck

> UIスケーリングを検討してみてください。 これにより、画面にレンダリングされるピクセルやキャプチャ可能なピクセルの総数は変わりません。
Synetech

1
これは非常に混乱しているようです。10k x 10kのディスプレイがあったとしましょう。アプリケーションウィンドウはどのように異なると思いますか?より多くのアイテムを含める必要がありますか、それとも同じアイテムでより詳細にしたいですか?それはネイティブのwin32アプリケーションか、Qt、Java、またはOpenGLまたはDirectXウィンドウのような他のツールキットですか?
エローエン

2
考え方は異なっていました。ディスプレイにないピクセルを作成できないことは知っています。私は「仮想」ディスプレイ解像度拡張ツールを探していました。実質的に任意の解像度を設定でき、ディスプレイ機能よりも高い場合は、画面の一部だけを表示し、印刷できるようにする必要があります表示されている実際の仮想スクリーンサブセットの代わりに、イメージする仮想スクリーン。
アルファタウ

回答:


21

もちろん!はい、できます。ベクターバックエンドを持つUIレンダリングエンジンが必要になります。Gtk + 3+にはそのバックエンドがあります。このプロジェクトをご覧ください:

ただし、アプリケーションはGtk +を使用してLinux上で実行できるはずです。この方法で、またはベクター出力を得るためにMicrosoft Visioを使用して、モックアップを作成できます。

これらのサンプルをご覧ください:

あなたがDebian / Ubuntuユーザーである場合、インストールのためにあなたは単にすることができます

$ sudo apt-get install gtk-vector-screenshot
$ take-vector-screenshot

そして、マウスでスクリーンショットを撮るアプリケーションを選択するだけです。現在、ベクトルスクリーンショットを成功させるには、アプリケーションをGtk + 3にする必要があります。その結果、現在の作業ディレクトリにPDFファイルが作成されます。

take-vector-screenshotアプリケーション

PS:朗報:Firefox 42 はGtk + 3を使用します。


1
いいね!質問にはWindowsというタグが付けられていますが、これは、今後この質問を見つけた訪問者にとって非常に便利な回答です。
アルジャン

1
おかげで、実際にはそのタグは質問をした人からではありません。実際、これはなんとなくトリッキーなプロセスですが、MetroとRetinaを使用すると、Win / Macで可能になる可能性があります。それは良い研究に値します。
Ho1

@ Ho1、オンライン検索から、OS XはPDFスクリーンショットを取得できるようです:idownloadblog.com/2014/07/31/…–
アンドレア

@AndreaLazzarottoありがとう。しかし、それはベクトルですか?ダウンロードリンクが見つかりませんでした。Macをお持ちの場合、PDFスクリーンショットを自分で作成してください。ここでは、Macのベクタースクリーンショットについていくつかの議論がありました。apple.stackexchange.com
a

1
他のプログラムのスクリーンショットを作成することはできますが、Firefoxで試してみるとスクリーンショットが撮れますが、スクリーンショットは完全に空白です。Ubuntu Gnomeに取り組んでいます。MidoriまたはChromiumのスクリーンショットを撮っても、エラーメッセージが表示されたり、ウィンドウが開いたりしないと動作しません...
nnn

10

ベクターとしてキャプチャしますか?もちろんそうではありません。キャプチャプログラムが画面上の図形のジオメトリについて何かを知る方法はありません。描画を行うプログラムに何らかのフックを持たせる必要があります。

ただし、ラスターイメージをキャプチャし、それをベクターに変換することができます。この変換を実行できるInkscapeなどのツールがあります(通常、手動で調整する必要がありますが、それでもピクセルパーフェクトな結果を得ることができることはほとんどありません)。

解像度に関しては、キャプチャを実行すると、利用可能な情報より多くの情報をキャプチャできません。結果の画像のサイズを変更することができます。適切なスケーリングアルゴリズムを使用すると、補間されたピクセルはかなりうまくブレンドされますが、現在よりも多くのピクセル情報を作成する方法はありません。

理論的には、すべてが内部でより高い解像度でレンダリングされ、それよりも低い解像度で画面に送信される何らかのシステムを実装することは可能ですが、それはOSとドライブの両方で特別なサポートを必要とし、使用が非常に限られており、ほとんどのシナリオでメモリの無駄にしかならないため、実装される可能性は低いです。

デスクトップパンを使用して、画面がサポートするよりも高い解像度のデスクトップを実現できる場合がありますが、これもドライバーがサポートする必要があります。


1
ウィンドウのカラーパレットが小さく、かなりシンプルであると仮定すると、役に立つ可能性のあるen.wikipedia.org/wiki/Pixel_art_scaling_algorithmsがあります。
エローエン

@ hit-and-run-down-voter、(もしあれば)あなたの問題は何ですか?他の人は答えを好むようですので、コメントを残すことを気にしないなら、あなたがそれについて持つかもしれない問題も持たないかもしれない問題に対処することはできません。
Synetech

1
あなたは間違っています-グラデーションを含むほとんどのGUI要素は例外的にベクトルベースです。しかし、主流のOSとGUIフレームワークは、スクリーングラバー用の外部リスナーAPIを提供します。これは大きな問題ですが、これをサポートする既知のキャプチャプログラムはありません。たとえば、通常のWindows Inspectクライアントを調べることができます。すべてのUIイベントを取得でき、このイベントをベクタースクリーンショットにレンダリングする独自のツールを作成できます。
ドミトリーポニャトフ

しかし、実際のベクトルキャプチャアプリケーションでは、フォールバックとしてOCRとトレースモジュールを含める必要があります-多くのプログラムは事前に計算されたビットマップを使用しますが、これは別の(マーケティングに触発された)大きな問題です。
ドミトリーポニャトフ

0

現在はありません。これは可能ですが、不可能です。

どちらもネイティブのベクターUIですが、ビットマップも使用できます -これはSVGに最適です。ただし、WPFをSVGにエクスポートするツールは存在しますが、これらのほとんどはソフトウェア開発者を対象としています。たとえば、アプリケーションのXAMLソースが必要な場合、それをSVGにエクスポートします。


-1

UNIXユーザーの場合、KSnapShotまたはGIMPを使用できます。詳細はグラフィカル画面表示されます

KSnapShotをインストールするには、このリンクKSnapShotを使用できます

GIMPはWindowsでも使用できます。


これらは単なる通常のスナップショットツールのようで、ベクターグラフィックスや画面よりも高い解像度については何も言われていません。私は何か間違っていますか?
TS
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.