アプリケーションウィンドウのスクリーンショットを撮る必要があります。ノートパソコンの解像度が低いので、高品質の画像を取得したいです。
画面をベクターグラフィックス(EPS、PDF、SVGなど)として取得する方法はありますか?あるいは、ネイティブのものよりも高い解像度でスクリーンショットを撮る方法はありますか?
ネイティブ解像度は1366x768ですが、少なくとも4000x3000近くの解像度が必要です。
アプリケーションウィンドウのスクリーンショットを撮る必要があります。ノートパソコンの解像度が低いので、高品質の画像を取得したいです。
画面をベクターグラフィックス(EPS、PDF、SVGなど)として取得する方法はありますか?あるいは、ネイティブのものよりも高い解像度でスクリーンショットを撮る方法はありますか?
ネイティブ解像度は1366x768ですが、少なくとも4000x3000近くの解像度が必要です。
回答:
もちろん!はい、できます。ベクターバックエンドを持つUIレンダリングエンジンが必要になります。Gtk + 3+にはそのバックエンドがあります。このプロジェクトをご覧ください:
ただし、アプリケーションはGtk +を使用してLinux上で実行できるはずです。この方法で、またはベクター出力を得るためにMicrosoft Visioを使用して、モックアップを作成できます。
これらのサンプルをご覧ください:
あなたがDebian / Ubuntuユーザーである場合、インストールのためにあなたは単にすることができます
$ sudo apt-get install gtk-vector-screenshot
$ take-vector-screenshot
そして、マウスでスクリーンショットを撮るアプリケーションを選択するだけです。現在、ベクトルスクリーンショットを成功させるには、アプリケーションをGtk + 3にする必要があります。その結果、現在の作業ディレクトリにPDFファイルが作成されます。
PS:朗報:Firefox 42 はGtk + 3を使用します。
ベクターとしてキャプチャしますか?もちろんそうではありません。キャプチャプログラムが画面上の図形のジオメトリについて何かを知る方法はありません。描画を行うプログラムに何らかのフックを持たせる必要があります。
ただし、ラスターイメージをキャプチャし、それをベクターに変換することができます。この変換を実行できるInkscapeなどのツールがあります(通常、手動で調整する必要がありますが、それでもピクセルパーフェクトな結果を得ることができることはほとんどありません)。
解像度に関しては、キャプチャを実行すると、利用可能な情報より多くの情報をキャプチャできません。結果の画像のサイズを変更することができます。適切なスケーリングアルゴリズムを使用すると、補間されたピクセルはかなりうまくブレンドされますが、現在よりも多くのピクセル情報を作成する方法はありません。
理論的には、すべてが内部でより高い解像度でレンダリングされ、それよりも低い解像度で画面に送信される何らかのシステムを実装することは可能ですが、それはOSとドライブの両方で特別なサポートを必要とし、使用が非常に限られており、ほとんどのシナリオでメモリの無駄にしかならないため、実装される可能性は低いです。
デスクトップパンを使用して、画面がサポートするよりも高い解像度のデスクトップを実現できる場合がありますが、これもドライバーがサポートする必要があります。
現在はありません。これは可能ですが、不可能です。
VistaはWindows Presentation Foundationを使用しているため、Windows
OS Xは、Postscriptの表示を使用します。
どちらもネイティブのベクターUIですが、ビットマップも使用できます -これはSVGに最適です。ただし、WPFをSVGにエクスポートするツールは存在しますが、これらのほとんどはソフトウェア開発者を対象としています。たとえば、アプリケーションのXAMLソースが必要な場合、それをSVGにエクスポートします。