Tire uma captura de tela da linha de comando no Windows

47

Estou procurando uma maneira de capturar uma imagem da tela inteira na linha de comando. Sistema operacional é o Windows. Algo parecido com isto:

C:\>screenshot.exe screen1.png
    
por Željko Filipin 26.11.2009 / 16:34

9 respostas

25

Faça o download de imagemagick . Muitas ferramentas de manipulação de imagens de linha de comando estão incluídas. A importação permite capturar algumas ou todas as telas e salvar a imagem em um arquivo. Por exemplo, para salvar a tela inteira como um jpeg:

import -window root screen.jpeg

Se você quiser usar o mouse para clicar dentro de uma janela ou selecionar uma região de tela & salve um png, apenas use:

import box.png
    
por 26.11.2009 / 17:16
40

Esta pergunta já foi respondida, mas eu pensei em jogar isso também. O NirCmd (freeware, infelizmente, não é open source) pode tirar screenshots da linha de comando, em conjunto com os inúmeros outros funções que pode fazer.

Executando isso a partir da linha de comando ou no diretório do nircmd.exe ou se você copiou para a pasta system32:

nircmd.exe savescreenshot screen1.png

faz o que você quer. Você também pode atrasar assim:

nircmd.exe cmdwait 2000 savescreenshot screen1.png

Isso aguardará 2000 milissegundos (2 segundos) e, em seguida, capturará e salvará a captura de tela.

    
por 28.11.2009 / 16:51
15

pode ser feito sem ferramentas externas (você só precisa instalar o framework .net, que é instalado por padrão em tudo do vista e acima) - screenCapture.bat . É um programa C # auto-compilado e você pode salvar a saída em poucos formatos e capturar apenas a janela ativa ou a tela inteira:

screenCapture- captures the screen or the active window and saves it to a file
Usage:
screenCapture  filename.format [WindowTitle]

filename - the file where the screen capture will be saved
format - Bmp,Emf,Exif,Gif,Icon,Jpeg,Png,Tiff and are supported - default is bmp
WindowTitle - instead of capturing the whole screen will capture the only a window with the given title if there's such

Exemplos:

call screenCapture notepad.jpg "Notepad"
call screenCapture screen.png
    
por 22.07.2015 / 18:09
13

Outras sugestões estão corretas - você também pode tentar o MiniCap, que é gratuito e tem alguns outros recursos, como nomeação flexível de arquivos e alguns modos de captura diferentes: link

(disclaimer: Eu sou o autor do MiniCap).

    
por 26.11.2009 / 17:25
9

Teste o IrfanView .

Você pode executá-lo via linha de comando. Você pode especificar qual janela capturar - como a janela inteira ou apenas a janela atual / ativa - e também pode fazer algumas edições básicas, como nitidez, corte ou redimensionamento das imagens.

Aqui estão as opções de linha de comando , particularmente interessantes

i_view32 /capture=0 /convert=wholescreen.png
    
por 03.02.2012 / 09:45
6

Captura de tela-cmd tira uma captura de tela de uma área de trabalho ou de qualquer janela selecionada pelo título da janela. Também é possível selecionar o retângulo para capturar. O resultado é armazenado como um arquivo png. (última atualização em 2011)


OPTIONS:
    -wt WINDOW_TITLE
            Select window with this title.
            Title must not contain space (" ").
    -wh WINDOW_HANDLE
            Select window by it's handle
            (representad as hex string - f.e. "0012079E") 
    -rc LEFT TOP RIGHT BOTTOM
            Crop source. If no WINDOW_TITLE is provided
            (0,0) is left top corner of desktop,
            else if WINDOW_TITLE maches a desktop window
            (0,0) is it's top left corner.
    -o FILENAME
            Output file name, if none, the image will be saved
            as "screenshot.png" in the current working directory.
    -h
            Shows this help info.

Inspirado por: link

    
por 11.07.2011 / 20:05
4

Você pode experimentar a ferramenta boxcutter :

usage: boxcutter [OPTIONS] [OUTPUT_FILENAME]

Saves a bitmap screenshot to 'OUTPUT_FILENAME' if given.  Otherwise, 
screenshot is stored on clipboard by default.

OPTIONS
  -c, --coords X1,Y1,X2,Y2    capture the rectange (X1,Y1)-(X2,Y2)
  -f, --fullscreen            fullscreen screenshot
  -v, --version               display version information
  -h, --help                  display help message
    
por 26.11.2009 / 16:42
1

Você pode usar o produto comercial snapit para tirar capturas de tela incríveis da linha de comando.

    
por 27.11.2009 / 15:44
1

Você pode usar a biblioteca Pillow python para fazer capturas de tela do monitor principal

Passo 1: instalar o travesseiro:

pip install -user pillow

Passo 2: tire screenshots com o seguinte código:

from PIL import ImageGrab
img = ImageGrab.grab()
img.save('screenshot.bmp')
    
por 02.02.2018 / 05:01