Cuando tomamos capturas de pantalla de áreas seleccionadas en Ubuntu
(usando Shift+ Prt Scro Ctrl+ Shift+ Prt Scr) siempre seleccionamos un área rectangular . Entonces, sé que podría editar la imagen en algún software como Inkscape para crear un círculo con la imagen rectangular, pero me gustaría saber si hay una configuración que pueda cambiar para poder seleccionar diferentes tipos de formas (principalmente círculos ) directamente cuando estoy tomando la captura de pantalla.
¿Es posible?
scripts
software-recommendation
programming
screenshot
productivity
Rafael Muynarsk
fuente
fuente
Respuestas:
Creé un pequeño script para capturas de pantalla circulares, necesita los siguientes paquetes (aunque también es adaptable para otros programas de captura de pantalla y emuladores de terminal):
La secuencia de comandos
Guárdelo como, por ejemplo,
~/circular_screenshot.bash
y hágalo ejecutable conchmod +x ~/circular_screenshot.bash
. Cuando lo ejecuta, el script primero le pide que mueva el cursor del mouse a la posición central y presione Entery luego lo mueva a una posición de borde (no importa cuál, el script calcula el radio desde la distancia) y presione nuevamente Enter. La pantalla parpadea mientras se toma la captura de pantalla (recomiendo usar en suscrot $temp_screenshot
lugar, no muestra este comportamiento extraño) y elconvert
1 de ImageMagick se usa para recortar la imagen. La salida se guarda con una marca de tiempo como el nombre del archivo en su directorio de inicio, puede cambiar este comportamiento editando laoutput
variable de la secuencia de comandos.Salida de ejemplo
Llamar sin (o mejor: con una ventana de terminal invisible)
Supongo que no quieres tener un terminal bloqueando tu pantalla cada vez que haces una captura de pantalla como esa, así que aquí hay una solución para eso; Llame al script de la siguiente manera (suponiendo que el script se haya guardado como
~/circular_screenshot.bash
):Esto ejecuta el script en una ventana de terminal invisible (icono con una "X" roja y una "T" azul), solo necesita asegurarse de que esté enfocado cuando escribe Enter. Puede asignar este comando a un atajo de teclado utilizando la configuración de su entorno de escritorio.
Como ImageMagick es increíblemente poderoso, también puede adaptar este script para generar otras formas, utilicé
ellipse
con el mismo radio en ambas direcciones x e y para dibujar el círculo de arriba; cámbielo a, por ejemplo,$radius,$(bc <<<"$radius*0.5")
para obtener una elipse con excentricidad por encima de 0.1: Tomé el enfoque de este hilo en imagemagick.org .
fuente
He descubierto algunas cosas aquí sobre capturas de pantalla. Cuando tomamos capturas de pantalla en Ubuntu (el mío es 16.04) en realidad estamos usando un software llamado
gnome-screenshot
. Es un software de código abierto escrito en C y podemos encontrar su código fuente en GitHub en este enlace :Bueno, hay un archivo llamado
screenshot-area-selection.c
que responde mi pregunta. Es un archivo con 361 líneas de código, así que no voy a pegarlo aquí. Pero por lo que entendí de este archivo (no mucho), utiliza muchas funciones que están estructuradas en torno a la construcción de una forma rectangular ... Como en este fragmento de código:Entonces, mi conclusión es que no es posible cambiar ninguna configuración para tomar capturas de pantalla
gnome-screenshot
porque su código no está estructurado para eso ... Aunque es posible descargar el código, cambiar el código yo mismo, recompilarlo y luego usar mi propia versión personalizada degnome-screenshot
.fuente
Usando la misma idea de la respuesta aceptada , he creado otro script para tomar capturas de pantalla hexagonales y lo comparto aquí en caso de que sea útil para otra persona.
Salida de ejemplo
La secuencia de comandos
El proceso es exactamente el mismo de la respuesta aceptada . En este caso, acabo de cambiar el nombre del script:
"Guárdelo como, por ejemplo,
~/hexagonal_screenshot.bash
y hágalo ejecutablechmod +x ~/hexagonal_screenshot.bash
. Cuando lo ejecuta, el script primero le pide que mueva el cursor del mouse a la posición central y presione Enter y luego lo mueva a una posición de borde (no importa cuál, el el guión calcula el radio a partir de la distancia) y presione nuevamente Intro. La pantalla parpadea mientras se toma la captura de pantalla (recomiendo usar en suscrot $temp_screenshot
lugar, no muestra este comportamiento extraño) y ImageMagick'sconvert
se usa para recortar la imagen. guardado con una marca de tiempo como el nombre de archivo en su directorio de inicio, puede cambiar este comportamiento editando laoutput
variable del script ".Información Adicional
En caso de que alguien tenga curiosidad sobre las matemáticas involucradas, así es como lo hice. Para crear un polígono con un número diferente de aristas o formas diferentes, usar
Imagemagick
el procedimiento sería el mismo: hacer los cálculos y agregar o eliminar puntos a esta parte del código"polygon $P1_x,$P1_y $P2_x,$P2_y $P3_x,$P3_y $P4_x,$P4_y $P5_x,$P5_y $P6_x,$P6_y"
.fuente