Copie a imagem da área de transferência para o arquivo

20

É possível tirar uma imagem da área de transferência e enviá-la para um arquivo (usando X)?

Eu posso fazer isso com texto facilmente:

$ xclip -selection c -o > file.text

Mas quando eu tento o acima com uma imagem nada é escrito.

A razão pela qual eu quero fazer isso é que eu não tenho um editor de imagens instalado, e isso me fez pensar se eu poderia fazer isso sem instalar um.

    
por Lerp 17.07.2014 / 17:53

2 respostas

35

Você pode fazer isso com xclip . O segredo é a opção -t , que o encaminha para a Seção 2.6 do ICCCM. 2 . Confesso que não o culpo por não ter lido ... De qualquer forma, um exemplo, cliquei com o botão direito do seu avatar no Chromium e selecionei "Copiar Imagem":

  1. Veja quais destinos estão disponíveis:

    $ xclip -selection clipboard -t TARGETS -o
    TARGETS
    image/png
    text/html
    
  2. Observe o image/png target; vá em frente e entenda:

    $ xclip -selection clipboard -t image/png -o > /tmp/avatar.png
    $ see /tmp/avatar.png    # yep, that's it
    

NOTA: Algumas pesquisas mostram que você precisa do xclip da revisão 81 do SVN (de abril de 2010) ou posterior para ter a opção -t necessária. Ou aplique os patches você mesmo.

    
por 17.07.2014 / 18:11
1

O xclip não funciona com imagens no meu computador (svn84-4):

$ xclip -selection clipboard -t image/png -o
Error: target image/png not available

Mas há outro programa que captura a tela e cola em um arquivo, muito simplesmente: scrot :

scrot /tmp/myImage.png
    
por 22.02.2018 / 17:33