Como capturar uma janela específica usando o ImageMagick

Publicado por Fábio Berbert de Paula em 29/04/2020

[ Hits: 486 ]

Blog: https://youtube.com/c/cotidianohackeado

 


Como capturar uma janela específica usando o ImageMagick



Imagino que a maioria já deva conhecer o pacote ImageMagick, que literalmente faz milagres no quesito tratamento de imagens via linha de comando. Se você ainda não o possui, instale com:

sudo apt install imagemagick

O intuito da dica é mostrar como fazer para capturar uma janela única usando o comando "import".

Se você digitar o comando puro no terminal, passando apenas o nome e extensão da captura de tela, será necessário selecionar a região da tela desejada para o print:

import regiao-livre.jpg

Também é possível capturar a tela inteira usando o parâmetro "-window root":

import -window root tela-inteira.jpg

Mas e para capturar uma janela única?

Para isso precisaremos descobrir o ID da janela para passarmos ao parâmetro "-window". Digite:

xwininfo

E clique na janela desejada. A saída será algo como:

xwininfo: Please select the window about which you
          would like information by clicking the
          mouse in that window.

xwininfo: Window id: 0x2c00007 "artigos : vim — Konsole"

  Absolute upper-left X:  1290
  Absolute upper-left Y:  29
  Relative upper-left X:  0
  Relative upper-left Y:  0
  Width: 1270
  Height: 1017
  Depth: 32
  Visual: 0xf9
  Visual Class: TrueColor
  Border width: 0
  Class: InputOutput
  Colormap: 0x2c00006 (not installed)
  Bit Gravity State: NorthWestGravity
  Window Gravity State: NorthWestGravity
  Backing Store State: NotUseful
  Save Under State: no
  Map State: IsViewable
  Override Redirect State: no
  Corners:  +1290+29  -768+29  -768-34  +1290-34
  -geometry 1270x1017+1290+29

A informação desejada está em "window id", conforme negrito acima. Copie o ID da janela e digite:

import -window 0x2c00007 janela-unica.jpg
Linux: Como capturar uma janela específica usando o ImageMagick
Até a próxima!

Outras dicas deste autor

Substituindo o sleep por um belo cronômetro regressivo

Como omitir/filtrar mensagens inúteis no log (rsyslogd)

Redirecionando saída de comando para arquivo com sudo

Como remover parêntesis dos nomes de arquivos

PHP - Como comparar duas strings case insensitive

Leitura recomendada

Extrair a data de uma fotografia

O comando lsof

Guia rápido de uso do APT

Copiando arquivos com a estrutura de diretórios

Uso efetivo do shell

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário