2 votes

Comment capturer de manière répétée une région fixe de l'écran en une séquence d'images ?

J'ai besoin de capturer de manière répétée une région fixe de chacune d'une séquence de pages Web pour obtenir une série d'images que je peux ensuite compiler dans un PDF. Idéalement, je pourrais simplement naviguer d'une page à l'autre et appuyer sur un raccourci clavier pour capturer la zone et enregistrer l'image dans un nom de fichier automatiquement incrémenté à chaque fois.

Ce que je veux arrêter de faire, c'est de définir manuellement la région à chaque fois (c'est irritant et lorsque je fais glisser pour créer la région, c'est encore plus irritant d'essayer d'obtenir les dimensions exactes en pixels), ce qui semble être la seule option avec Skitch et les autres que j'ai essayés.

Quel logiciel me permettra de le faire le plus efficacement possible ?

3voto

Mateusz Szlosek Points 21762

Vous pouvez utiliser screencapture utilitaire en ligne de commande. Créez un Automator Service (ne prend pas d'entrée) qui fera une commande shell et lui assignera un raccourci clavier.

Le shell script ressemblera à ceci :

/usr/sbin/screencapture -R0,0,1000,400 /path/to/save/FileName$(date +"%m_%d_%Y_%H_%M_%S_%s").png

screencapture a -R modificateur ne figurant pas dans man mais il est listé dans l'aide comme :

-R<x,y,w,h> capture screen rect

Les valeurs que j'ai utilisées ci-dessus ont permis de capturer cette image qui montre également comment les coordonnées rectangulaires fonctionnent.

Changement x,y,w,h des valeurs pour ceux dont vous avez besoin.

El date +"%m_%d_%Y_%H_%M_%S_%s" ajoute un horodatage au nom du fichier

enter image description here


Vous pouvez en fait utiliser Screencapture pour trouver le rectangle que vous voulez en utilisant cmd + shift + 4 ce qui vous donnera des réticules avec les chiffres pour cliquer, glisser, relâcher et capturer le rectangle.

enter image description here


Dans Terminal.app, tapez : /usr/sbin/screencapture -h vous donnera la documentation d'aide

usage: screencapture [-icMPmwsWxSCUtoa] [files]
  -c         force screen capture to go to the clipboard
  -C         capture the cursor as well as the screen. only in non-interactive modes
  -d         display errors to the user graphically
  -i         capture screen interactively, by selection or window
               control key - causes screen shot to go to clipboard
               space key   - toggle between mouse selection and
                             window selection modes
               escape key  - cancels interactive screen shot
  -m         only capture the main monitor, undefined if -i is set
  -M         screen capture output will go to a new Mail message
  -o         in window capture mode, do not capture the shadow of the window
  -P         screen capture output will open in Preview
  -s         only allow mouse selection mode
  -S         in window capture mode, capture the screen not the window
  -t<format> image format to create, default is png (other options include pdf, jpg, tiff and other formats)
  -T<seconds> Take the picture after a delay of <seconds>, default is 5
  -w         only allow window selection mode
  -W         start interaction in window selection mode
  -x         do not play sounds
  -a         do not include windows attached to selected windows
  -r         do not add dpi meta data to image
  -l<windowid> capture this windowsid
  -R<x,y,w,h> capture screen rect
  files   where to save the screen capture, 1 file per screen

0 votes

Merci beaucoup. Je ne savais pas qu'il y avait était une commande de capture d'écran en ligne de commande ! Je vais l'utiliser avec Keyboard Maestro et... c'est fait !

1voto

tjanson Points 144

Avez-vous envisagé de recadrer les captures d'écran par lots ? Par exemple, en utilisant Imagemagick (que vous pouvez installer via homebrew : brew install imagemagick ) :

cp original.png test.png #backup original!
mogrify -crop 800x600+100+200 +repage test.png

800x600 est la taille de la région, et +100+200 le décalage X/Y. Ceci peut être appliqué à plusieurs images à la fois en spécifiant simplement plusieurs noms de fichiers. Notez que cela modifiera vos images (in-place). donc opérer sur des copies.

0 votes

Je ne peux marquer qu'une seule réponse comme "la" réponse, mais c'est une approche utile à laquelle je n'avais jamais pensé (et que j'utiliserai à l'avenir. J'utilise même ImageMagick pour d'autres tâches...). Merci !

0 votes

Cette réponse est également très utile

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X