Lorsque nous prenons des captures d'écran des zones sélectionnées Ubuntu
(en utilisant Shift+ Prt Scrou Ctrl+ Shift+ Prt Scr), nous sélectionnons toujours une zone rectangulaire . Donc, je sais que je pourrais simplement modifier l'image sur certains logiciels comme Inkscape pour créer un cercle avec l'image rectangulaire, mais j'aimerais savoir s'il y a une configuration que je peux changer pour pouvoir sélectionner différents types de formes (principalement des cercles ) directement lorsque je prends la capture d'écran.
C'est possible?
scripts
software-recommendation
programming
screenshot
productivity
Rafael Muynarsk
la source
la source
Réponses:
J'ai mis en place un petit script pour les captures d'écran circulaires, vous avez besoin des packages suivants (bien qu'il soit également adaptable pour d'autres programmes de capture d'écran et émulateurs de terminaux):
Le scénario
Enregistrez-le par exemple
~/circular_screenshot.bash
et rendez-le exécutable avecchmod +x ~/circular_screenshot.bash
. Lorsque vous l'exécutez, le script vous demande d'abord de déplacer le curseur de la souris en position centrale et appuyez sur Enterpuis de le déplacer vers une position de bord (peu importe lequel, le script calcule le rayon à partir de la distance) et appuyez à nouveau sur Enter. L'écran scintille alors pendant la capture d'écran (je recommande d'utiliser à lascrot $temp_screenshot
place, il ne montre pas ce comportement étrange.) Etconvert
1 de ImageMagick est utilisé pour recadrer l'image. La sortie est enregistrée avec un horodatage comme nom de fichier dans votre répertoire personnel, vous pouvez changer ce comportement en modifiant laoutput
variable du script.Exemple de sortie
Appelez sans (ou mieux: avec une fenêtre de terminal invisible)
Je suppose que vous ne voulez pas qu'un terminal bloque votre écran chaque fois que vous faites une capture d'écran comme ça, alors voici une solution pour cela; Appelez le script comme suit (en supposant que le script a été enregistré sous
~/circular_screenshot.bash
):Cela exécute le script dans une fenêtre de terminal invisible (icône avec un «X» rouge et un «T» bleu), il vous suffit de vous assurer qu'il est ciblé lorsque vous tapez Enter. Vous pouvez affecter cette commande à un raccourci clavier à l'aide des paramètres de votre environnement de bureau.
Comme ImageMagick est incroyablement puissant, vous pouvez également adapter ce script pour produire d'autres formes, j'ai utilisé
ellipse
avec le même rayon dans les deux directions x et y pour dessiner le cercle ci-dessus - changez-le par exemple$radius,$(bc <<<"$radius*0.5")
pour obtenir une ellipse avec une excentricité supérieure à 0 à la place.1: J'ai pris l'approche de ce fil sur imagemagick.org .
la source
J'ai découvert certaines choses ici sur les captures d'écran. Lorsque nous prenons des captures d'écran sur Ubuntu (le mien est le 16.04), nous utilisons en fait un logiciel appelé
gnome-screenshot
. C'est un logiciel open source écrit en C et nous pouvons trouver son code source sur GitHub dans ce lien :Eh bien, il y a un dossier appelé
screenshot-area-selection.c
qui répond à ma question. C'est un fichier avec 361 lignes de code donc je ne vais pas le coller ici. Mais pour autant que je comprenne ce fichier (pas beaucoup), il utilise de nombreuses fonctions qui sont structurées autour de la construction d'une forme rectangulaire ... Comme dans ce morceau de code:Donc, ma conclusion est qu'il n'est pas possible de changer la configuration pour prendre des captures d'écran
gnome-screenshot
car son code n'est pas structuré pour ça ... Bien qu'il soit possible de télécharger le code, changer le code moi-même, le recompiler puis utiliser ma propre version personnalisée degnome-screenshot
.la source
En utilisant la même idée de la réponse acceptée, j'ai créé un autre script pour prendre des captures d'écran hexagonales et je le partage ici au cas où cela serait utile pour quelqu'un d'autre.
Exemple de sortie
Le scénario
Le processus est exactement le même que celui de la réponse acceptée . Dans ce cas, je viens de changer le nom du script:
"Enregistrez-le par exemple
~/hexagonal_screenshot.bash
et rendez-le exécutable avecchmod +x ~/hexagonal_screenshot.bash
. Lorsque vous l'exécutez, le script vous demande d'abord de déplacer le curseur de la souris en position centrale et d'appuyer sur Entrée, puis de le déplacer vers une position de bord (peu importe lequel, le script calcule le rayon à partir de la distance) et appuyez à nouveau sur Entrée. L'écran scintille alors que la capture d'écran est prise (je recommande d'utiliser à lascrot $temp_screenshot
place, il ne montre pas ce comportement étrange.) et ImageMagickconvert
est utilisé pour recadrer l'image. La sortie est enregistré avec un horodatage comme nom de fichier dans votre répertoire personnel, vous pouvez modifier ce comportement en modifiant laoutput
variable du script. "Information additionnelle
Au cas où quelqu'un serait curieux de savoir les mathématiques impliquées, voici comment je l'ai fait. Pour créer un polygone avec un nombre différent de bords ou des formes différentes en utilisant
Imagemagick
la procédure serait la même: faire le calcul et ajouter ou supprimer des points à cette partie du code"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"
.la source