¿Puedo tomar una captura de pantalla como gráficos vectoriales o en una resolución más alta que la nativa?

32

Necesito tomar algunas capturas de pantalla de una ventana de aplicación. La resolución de mi computadora portátil es baja y me gustaría obtener imágenes de alta calidad.

¿Hay alguna manera de tomar la pantalla como gráficos vectoriales (por ejemplo, EPS, PDF, SVG)? Alternativamente, ¿hay alguna manera de tomar una captura de pantalla con una resolución más alta que la nativa?

Mi resolución nativa es 1366x768, mientras que necesitaría al menos una resolución de casi 4000x3000.

Alfatau
fuente
Asumí Windows por su pregunta. Por favor, editar y volver a etiquetar si ese no es el caso.
slhck
> Podría intentar buscar en la escala de la interfaz de usuario. Eso no cambia el número total de píxeles representados en la pantalla o disponibles para capturar.
Synetech
1
Esto parece muy confuso. Digamos que tenía una pantalla de 10k por 10k; ¿Cómo cree exactamente que la ventana de la aplicación debería verse diferente? ¿Debería contener más elementos o desea que tenga más detalles en los mismos elementos? ¿Es una aplicación win32 nativa o algún otro kit de herramientas como Qt, Java o incluso una ventana OpenGL o DirectX?
Eroen
2
La idea era diferente. Sé que no puedo crear píxeles que la pantalla no tiene. Estaba buscando una herramienta de mejora de resolución de pantalla "virtual", de modo que pueda configurar virtualmente cualquier resolución y, si es superior a las capacidades de visualización, tendré que desplazar la pantalla cada vez que solo un subconjunto de la misma y poder imprimir la pantalla virtual a la imagen en lugar del subconjunto de pantalla virtual real que se está viendo.
Alfatau

Respuestas:

21

¡Por supuesto! Si tu puedes hacerlo. Necesitará un motor de representación de la interfaz de usuario que tenga backend vectorial. Gtk + 3+ tiene ese backend. Por favor vea este proyecto:

Pero debe saber que la aplicación debería poder ejecutarse en Linux usando Gtk +. Tal vez pueda crear maquetas con este método o con Microsoft Visio para tener salida vectorial.

Ver estas muestras:

Si es un usuario de Debian / Ubuntu, para la instalación simplemente puede hacer

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

Y luego solo tiene que elegir qué aplicación desea tomar con su mouse. Actualmente, la aplicación debe ser un Gtk + 3 para una captura de pantalla de vector exitosa. El resultado será un archivo PDF en el directorio de trabajo actual.

aplicación take-vector-screenshot

PD: Buenas noticias: Firefox 42 usará Gtk + 3 .

Ho1
fuente
1
¡Agradable! Aunque la pregunta está etiquetada como Windows, esta sigue siendo una respuesta muy útil para los futuros visitantes que encuentren esta pregunta.
Arjan
1
Gracias, en realidad esa etiqueta no es del tipo que hizo la pregunta. De hecho, esto es de alguna manera un proceso complicado, pero con Metro y Retina, tal vez esto sea / sea posible en Win / Mac. Se merece una buena investigación.
Ho1
@ Ho1, de una búsqueda en línea, parece que OS X puede adquirir capturas de pantalla en PDF: idownloadblog.com/2014/07/31/…
Andrea Lazzarotto
@AndreaLazzarotto Gracias. ¿Pero es vector? No pude encontrar un enlace de descarga. Si tiene Mac, ¿podría crear una captura de pantalla en PDF usted mismo? Tuvimos algunas discusiones aquí sobre capturas de pantalla vectoriales de Mac, aquí: apple.stackexchange.com/a/144596/90089
Ho1
1
Puedo hacer capturas de pantalla de otros programas, pero si lo pruebo con Firefox, toma la captura de pantalla, pero la captura de pantalla está completamente en blanco. Trabajando en Ubuntu Gnome. Tomar capturas de pantalla de Midori o Chromium no funciona sin ningún mensaje de error o ninguna ventana abierta ...
nnn
10

Captura como vector? No claro que no. No hay forma de que el programa de captura sepa algo sobre la geometría de las formas en la pantalla sin tener algún tipo de gancho en los programas que realizan el dibujo.

Sin embargo, lo que puede hacer es capturar una imagen ráster y luego convertirla en vector . Existen herramientas como Inkscape que pueden realizar esta conversión (aunque generalmente tendrá que hacer algunos ajustes manualmente, e incluso entonces, rara vez podrá obtener resultados perfectos en píxeles).

En cuanto a la resolución, cuando realiza una captura, no puede capturar más información de la que está disponible. Puede cambiar el tamaño de la imagen resultante y, si utiliza un buen algoritmo de escala, los píxeles interpolados se combinarán bastante bien, pero no hay forma de inventar más información de píxeles de la que está presente.

Teóricamente, podría ser posible implementar algún tipo de sistema en el que todo se procese internamente en una resolución más alta y luego se envíe a la pantalla en una menor, pero eso requeriría un soporte especial tanto en el sistema operativo como en la unidad, y es es poco probable que se implemente, ya que tiene un uso muy limitado y solo sería un desperdicio de memoria en la mayoría de los escenarios.

Es posible que pueda utilizar la panorámica de escritorio para lograr una resolución de escritorio más alta que la que admite la pantalla, pero nuevamente, eso requiere que sus controladores lo admitan.

Synetech
fuente
1
Suponiendo que la ventana tiene una pequeña paleta de colores y es bastante simple, hay en.wikipedia.org/wiki/Pixel_art_scaling_algorithms que podrían ser útiles.
Eroen
@ Hit-and-run-down-voter, ¿cuál (si es que hay) es su problema? A otros parece gustarles la respuesta, así que no puedo abordar ningún problema que puedan tener o no con ella si no se molestan en dejar un comentario.
Synetech
1
Te equivocas: la mayoría de los elementos de la GUI están excepcionalmente basados ​​en vectores, incluidos los gradientes. Pero, los sistemas operativos principales y los marcos de GUI proporcionan API de oyentes externos para capturadores de pantalla, y este es un gran problema, pero no hay ningún programa de captura conocido que lo admita. Por ejemplo, puede buscar en el cliente regular de Windows Inspect: puede capturar todos los eventos de la interfaz de usuario y puede crear su propia herramienta que representará estos eventos en una captura de pantalla vectorial.
Dmitry Ponyatov
Pero para la aplicación de captura de vectores reales debe incluir módulos de rastreo y OCR como respaldo: muchos programas usan mapas de bits precalculados, y este es otro gran problema (inspirado en el marketing).
Dmitry Ponyatov
0

Actualmente no . Esto debería ser posible pero no lo es.

Ambas son interfaces de usuario de vectores nativas, pero también permiten el uso de mapas de bits : este es un excelente ajuste para SVG. Sin embargo, aunque existen herramientas para exportar WPF a SVG , la mayoría de ellas están destinadas a desarrolladores de software. Por ejemplo, necesitaría la fuente XAML de su aplicación y luego exportarla a SVG.

mikemaccana
fuente
-1

Para usuarios de UNIX, puede usar KSnapShot o GIMP. Se dan más detalles en la pantalla gráfica.

Para instalar KSnapShot, puede usar este enlace KSnapShot

GIMP también está disponible para Windows.

Maulik Madhavi
fuente
Estas parecen ser solo herramientas de instantáneas normales, nada se dice acerca de los gráficos vectoriales o la resolución más alta que en la pantalla. ¿Me estoy equivocando algo?
TS