Come catturare ripetutamente la regione dello schermo fisso in sequenza di immagini

1

Ho bisogno di catturare ripetutamente una regione fissa da ciascuna sequenza di pagine Web a una serie di immagini che posso quindi compilare in un PDF. Idealmente, potrei semplicemente navigare da una pagina all'altra e premere un tasto di scelta rapida per acquisire l'area e salvare l'immagine in un nome file incrementato automaticamente ogni volta.

Quello che voglio smettere di fare è definire manualmente la regione ogni volta (è irritante e quando trascino per creare la regione è ancora più irritante cercare di ottenere le esatte dimensioni del pixel corrette), che sembra essere l'unica opzione con Skitch e altri che ho provato.

Quale software mi consentirà di farlo nel modo più efficiente?

    
posta Chris 14.01.2015 - 03:06
fonte

2 risposte

3

È possibile utilizzare l'utilità della riga di comando screencapture . Crea un servizio di automazione (non richiede input) che eseguirà un comando di shell e assegnerà una scorciatoia da tastiera.

Lo script della shell sarà simile a questo:

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

screencapture ha -R modificatore non elencato in man ma è elencato nella guida come:

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

I valori che ho usato sopra hanno catturato questa immagine che mostra anche come funzionavano le coordinate rect.

Modifica i valori di x,y,w,h per quelli di cui hai bisogno.

Il date +"%m_%d_%Y_%H_%M_%S_%s" aggiunge un timestamp al nome del file

InrealtàpuoiusareScreencapturepertrovareilrectchevuoiusandocmd+shift+4chetidaràqualchecrocettaconinumerisupertrascinareilclicrilascianocatturarerect.

Nella digitazione di Terminal.app: /usr/sbin/screencapture -h ti darà la documentazione di aiuto

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
    
risposta data 14.01.2015 - 10:27
fonte
1

Hai considerato il batch ritagliare gli screenshot? Ad esempio, utilizzando Imagemagick (che puoi installare tramite homebrew : brew install imagemagick ):

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

dove 800x600 è la dimensione della regione e +100+200 l'offset X / Y. Questo può essere applicato a più immagini contemporaneamente semplicemente specificando diversi nomi di file. Tieni presente che ciò modificherà le tue immagini (sul posto) , quindi utilizza le copie.

    
risposta data 14.01.2015 - 04:37
fonte

Leggi altre domande sui tag