Puis-je prendre une capture d'écran sous forme de graphiques vectoriels ou à une résolution plus élevée que native?

32

J'ai besoin de prendre des captures d'écran d'une fenêtre d'application. La résolution de mon ordinateur portable est faible et j'aimerais obtenir des images de haute qualité.

Existe-t-il un moyen de saisir l'écran sous forme de graphiques vectoriels (par exemple EPS, PDF, SVG)? Sinon, existe-t-il un moyen de prendre une capture d'écran avec une résolution plus élevée que celle native?

Ma résolution native est de 1366x768, alors que j'aurais besoin d'au moins une résolution de près de 4000x3000.

Alfatau
la source
J'ai supposé Windows pour votre question. Veuillez modifier et réétiqueter si ce n'est pas le cas.
slhck
> Vous pouvez essayer d'étudier la mise à l'échelle de l'interface utilisateur. Cela ne change pas le nombre total de pixels rendus à l'écran ou disponibles pour la capture.
Synetech
1
Cela semble très confus. Supposons que vous disposiez d'un écran 10k par 10k; comment pensez-vous exactement que la fenêtre de l'application devrait être différente? Doit-il contenir plus d'articles, ou voulez-vous qu'il ait plus de détails dans les mêmes articles? Est-ce une application native Win32 ou une autre boîte à outils comme Qt, Java ou même une fenêtre OpenGL ou DirectX?
Eroen
2
L'idée était différente. Je sais que je ne peux pas créer de pixels que l'écran n'a pas. Je cherchais un outil d'amélioration de la résolution d'affichage "virtuel", de telle sorte que je puisse pratiquement définir n'importe quelle résolution et si elle est supérieure aux capacités d'affichage, je devrai faire défiler l'écran en affichant à chaque fois seulement un sous-ensemble de celui-ci, et pouvoir imprimer l'écran virtuel à l'image au lieu du sous-ensemble d'écran virtuel réel visualisé.
Alfatau

Réponses:

21

Bien sûr! Oui, tu peux faire ça. Vous aurez besoin d'un moteur de rendu d'interface utilisateur doté d'un backend vectoriel. Gtk + 3+ a ce backend. Veuillez voir ce projet:

Mais vous devez savoir que l'application doit pouvoir fonctionner sous Linux en utilisant Gtk +. Vous pouvez peut-être créer des maquettes soit avec cette méthode, soit en utilisant Microsoft Visio pour avoir une sortie vectorielle.

Voir ces exemples:

Si vous êtes un utilisateur Debian / Ubuntu, pour l'installation, vous pouvez simplement faire

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

Et puis il vous suffit de choisir quelle application vous souhaitez prendre en capture d'écran avec votre souris. Actuellement, l'application devrait être un Gtk + 3 pour une capture d'écran vectorielle réussie. Le résultat sera un fichier PDF dans le répertoire de travail actuel.

application de capture d'écran vectorielle

PS: Bonne nouvelle: Firefox 42 utilisera Gtk + 3 .

Ho1
la source
1
Agréable! Bien que la question soit étiquetée Windows, c'est toujours une réponse très utile pour les futurs visiteurs qui trouveront cette question.
Arjan
1
Merci, ce tag ne vient pas du gars qui a posé la question. En fait, c'est en quelque sorte un processus délicat, mais avec Metro et Retina, c'est / sera peut-être possible sur Win / Mac. Il mérite une bonne recherche.
Ho1
@ Ho1, à partir d'une recherche en ligne, il semble que OS X soit capable d'acquérir des captures d'écran PDF: idownloadblog.com/2014/07/31/…
Andrea Lazzarotto
@AndreaLazzarotto Merci. Mais est-ce un vecteur? Je n'ai pas trouvé de lien de téléchargement. Si vous avez un Mac, pourriez-vous créer vous-même une capture d'écran PDF? Nous avons eu quelques discussions ici sur les captures d'écran vectorielles de Mac, ici: apple.stackexchange.com/a/144596/90089
Ho1
1
Je peux faire des captures d'écran d'autres programmes, mais si je l'essaie avec Firefox, il faut la capture d'écran, mais la capture d'écran est complètement vide. Travailler sur Ubuntu Gnome. Prendre des captures d'écran de Midori ou de Chromium ne fonctionne pas sans aucun message d'erreur ni ouverture de fenêtre ...
nnn
10

Capturer comme vecteur? Non bien sûr que non. Il n'y a aucun moyen pour le programme de capture de savoir quoi que ce soit sur la géométrie des formes à l'écran sans avoir une sorte de crochet dans le ou les programmes faisant le dessin.

Cependant, vous pouvez capturer une image raster, puis la convertir en vecteur . Il existe des outils comme Inkscape qui peuvent effectuer cette conversion (bien que vous deviez généralement effectuer manuellement quelques ajustements, et même alors, vous pourrez rarement obtenir des résultats parfaits en pixels).

Quant à la résolution, lorsque vous effectuez une capture, elle ne peut pas capturer plus d'informations que celles disponibles. Vous pouvez redimensionner l'image résultante et si vous utilisez un bon algorithme de mise à l'échelle, les pixels interpolés se mélangeront assez bien, mais il n'y a aucun moyen d' inventer plus d'informations sur les pixels que celles présentes.

Théoriquement, il pourrait être possible de mettre en œuvre une sorte de système dans lequel tout est rendu en interne à une résolution plus élevée, puis envoyé à l'écran à une résolution moindre, mais cela nécessiterait un support spécial à la fois dans le système d'exploitation et le lecteur, et est peu susceptible d'être mis en œuvre car son utilisation est très limitée et ne serait qu'un gaspillage de mémoire dans la plupart des scénarios.

Vous pourrez peut-être utiliser le panoramique de bureau pour obtenir un bureau de résolution supérieure à celle prise en charge par l'écran, mais encore une fois, cela nécessite que vos pilotes le prennent en charge.

Synetech
la source
1
En supposant que la fenêtre a une petite palette de couleurs et est assez simple, il existe des en.wikipedia.org/wiki/Pixel_art_scaling_algorithms qui pourraient être utiles.
Eroen
@ hit-and-run-down-voter, quel est (le cas échéant) votre problème? D'autres semblent aimer la réponse, donc je ne peux pas résoudre les problèmes que vous pourriez ou ne pourriez pas avoir avec elle si vous ne prenez pas la peine de laisser un commentaire.
Synetech
1
Vous vous trompez - la plupart des éléments de l'interface graphique sont exceptionnellement vectoriels, y compris les dégradés. Mais - les OS et les frameworks GUI traditionnels fournissent une API d'écoute externe pour les saisisseurs d'écran, et c'est un gros problème, mais aucun programme de capture connu ne le supporte. Par exemple, vous pouvez regarder le client Windows Inspect normal: il peut saisir tous les événements de l'interface utilisateur et vous pouvez créer votre propre outil qui rendra ces événements en capture d'écran vectorielle.
Dmitry Ponyatov
Mais pour une véritable application de capture vectorielle, vous devez inclure des modules OCR et de traçage comme solution de rechange - de nombreux programmes utilisent des bitmaps précalculés, et c'est un autre gros problème (inspiré du marketing).
Dmitry Ponyatov
0

Pas actuellement . Cela devrait être possible mais pas.

Les deux sont des interfaces utilisateur vectorielles natives, mais permettent également d'utiliser des bitmaps - c'est un excellent ajustement pour SVG. Cependant, bien qu'il existe des outils pour exporter WPF vers SVG , la plupart d'entre eux sont destinés aux développeurs de logiciels. Par exemple, vous auriez besoin de la source XAML de votre application, puis exportez-la en SVG.

mikemaccana
la source
-1

Pour les utilisateurs UNIX, vous pouvez utiliser KSnapShot ou GIMP. Plus de détails sont donnés dans l' écran graphique

Pour installer KSnapShot, vous pouvez utiliser ce lien KSnapShot

GIMP est également disponible pour Windows.

Maulik Madhavi
la source
Ceux-ci ne semblent être que des outils d'instantané normaux, rien à dire sur les graphiques vectoriels ou la résolution supérieure à l'écran. Suis-je en train de me tromper?
TS