Posso tirar uma captura de tela como gráficos vetoriais ou em uma resolução maior que a nativa?


32

Preciso tirar algumas capturas de tela de uma janela do aplicativo. A resolução do meu laptop está baixa e eu gostaria de obter imagens de alta qualidade.

Existe uma maneira de capturar a tela como gráficos vetoriais (por exemplo, EPS, PDF, SVG)? Como alternativa, existe uma maneira de tirar uma captura de tela com resolução mais alta que a nativa?

Minha resolução nativa é 1366x768, enquanto eu precisaria de pelo menos uma resolução de quase 4000x3000.



Eu assumi o Windows para sua pergunta. Por favor, editar e retag se isso não é o caso.
slhck 13/09/12

> Você pode tentar analisar o dimensionamento da interface do usuário. Isso não altera o número total de pixels renderizados na tela ou disponíveis para captura.
Synetech 13/09/12

1
Isso parece altamente confuso. Digamos que você tenha uma tela de 10k por 10k; exatamente como você acha que a janela do aplicativo deve parecer diferente? Ele deve conter mais itens ou deseja que ele tenha mais detalhes nos mesmos itens? É um aplicativo win32 nativo ou algum outro kit de ferramentas como Qt, Java ou mesmo uma janela OpenGL ou DirectX?
Eroen

2
A ideia foi diferente. Eu sei que não consigo criar pixels que a tela não possui. Eu estava procurando por uma ferramenta de aprimoramento de resolução de tela "virtual", de modo que eu possa definir virtualmente qualquer resolução e, se for maior do que os recursos de exibição, precisarei rolar a tela visualizando todas as vezes que apenas um subconjunto dela e poder imprimir a tela virtual para imagem em vez do subconjunto real da tela virtual sendo visualizado.
Alfatau 16/09/12

Respostas:


21

Claro! Sim, você pode fazer isso. Você precisará de um mecanismo de renderização da interface do usuário que possua back-end de vetor. Gtk + 3+ tem esse back-end. Por favor, veja este projeto:

Mas você deve saber que o aplicativo deve ser capaz de executar no Linux usando o Gtk +. Talvez você possa criar modelos com esse método ou usando o Microsoft Visio para obter saída de vetor.

Veja estas amostras:

Se você é um usuário Debian / Ubuntu, para instalação, você pode simplesmente fazer

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

E então você só precisa escolher qual aplicativo deseja capturar a tela com o mouse. Atualmente, o aplicativo deve ser um Gtk + 3 para uma captura de tela de vetor bem-sucedida. O resultado será um arquivo PDF no diretório de trabalho atual.

aplicativo take-vector-screenshot

PS: Boas notícias: o Firefox 42 estará usando o Gtk + 3 .


1
Agradável! Embora a pergunta esteja marcada como Windows, essa ainda é uma resposta muito útil para futuros visitantes que encontrarem essa pergunta.
precisa

1
Obrigado, na verdade essa tag não é do cara que fez a pergunta. De fato, esse é um processo complicado, mas com o Metro e o Retina, talvez isso seja / será possível no Win / Mac. Merece uma boa pesquisa.
• Ho1

@ Ho1, a partir de uma pesquisa on-line, parece que o OS X é capaz de obter capturas de tela em PDF: idownloadblog.com/2014/07/31/…
Andrea Lazzarotto

@AndreaLazzarotto Thanks. Mas é vetor? Não consegui encontrar um link para download. Se você possui Mac, pode criar uma captura de tela em PDF? Tivemos algumas discussões aqui sobre capturas de tela de vetores do Mac, aqui: apple.stackexchange.com/a/144596/90089
Ho1 27/10/2015

1
Posso fazer capturas de tela de outros programas, mas se eu tentar com o Firefox, ela será capturada, mas a tela ficará completamente em branco. Trabalhando no Ubuntu Gnome. Tirar screenshots de Midori ou Chromium não funcionam sem qualquer mensagem de erro ou qualquer abertura da janela ...
nnn

10

Capturar como vetor? Não, claro que não. Não há como o programa de captura saber alguma coisa sobre a geometria das formas na tela sem ter algum tipo de gancho nos programas que estão fazendo o desenho.

No entanto, o que você pode fazer é capturar uma imagem raster e convertê-la em vetor . Existem ferramentas como o Inkscape que podem executar essa conversão (embora você geralmente precise fazer alguns ajustes manualmente, e mesmo assim, raramente será possível obter resultados perfeitos em pixels).

Quanto à resolução, quando você realiza uma captura, ela não pode capturar mais informações do que as disponíveis. Você pode redimensionar a imagem resultante e, se usar um bom algoritmo de dimensionamento, os pixels interpolados se misturam bastante bem, mas não há como inventar mais informações em pixels do que as atuais.

Teoricamente, seria possível implementar algum tipo de sistema no qual tudo é renderizado internamente em uma resolução mais alta e depois enviado para a tela em uma menor, mas isso exigiria suporte especial no sistema operacional e na unidade e é improvável de ser implementado, pois tem uso muito limitado e seria apenas um desperdício de memória na maioria dos cenários.

Você pode usar o panorama da área de trabalho para obter uma área de trabalho de resolução mais alta do que a tela suporta, mas, novamente, isso requer que os drivers sejam compatíveis.


1
Supondo que a janela tenha uma pequena paleta de cores e seja bastante simples, existem en.wikipedia.org/wiki/Pixel_art_scaling_algorithms que podem ser úteis.
Eroen

@ eleitor que atropela e atropela, qual é o seu problema (se houver)? Outros parecem gostar da resposta, por isso não posso resolver nenhum problema que você possa ou não ter se não se importar em deixar um comentário.
Synetech

1
Você está errado - a maioria dos elementos da GUI é excepcionalmente baseada em vetores, incluindo gradientes. Mas - os sistemas operacionais convencionais e as estruturas de GUI fornecem API de ouvintes externos para capturadores de tela, e isso é um grande problema, mas nenhum programa de captura conhecido suporta isso. Por exemplo, você pode procurar no cliente regular do Windows Inspect: ele pode pegar todos os eventos da interface do usuário e criar sua própria ferramenta que transformará esses eventos em captura de tela de vetor.
Dmitry Ponyatov

Mas para aplicativos de captura de vetores reais, você deve incluir módulos de OCR e rastreamento como fallback - muitos programas usam bitmaps pré-computados, e esse é outro grande problema (inspirado no marketing).
Dmitry Ponyatov

0

Atualmente não . Isso deve ser possível, mas não.

Ambas são UIs nativas de vetor, mas também permitem o uso de bitmaps - este é um ajuste excelente para SVG. No entanto, embora existam ferramentas para exportar WPF para SVG , a maioria delas é direcionada a desenvolvedores de software. Por exemplo, você precisaria da fonte XAML do seu aplicativo e depois exportaria para o SVG.


-1

Para usuários UNIX, você pode usar o KSnapShot ou o GIMP. Mais detalhes são fornecidos na tela gráfica

Para instalar o KSnapShot, você pode usar este link KSnapShot

O GIMP também está disponível para Windows.


Essas parecem ser apenas ferramentas normais de instantâneo, nada dito sobre gráficos vetoriais ou resolução mais alta do que na tela. Estou entendendo algo errado?
TS
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.