Copier l'image du presse-papiers dans un fichier

28

Est-il possible de prendre une image du presse-papiers et de la sortir dans un fichier (en utilisant X)?

Je peux le faire facilement avec du texte:

$ xclip -selection c -o > file.text

Mais quand j'essaye ce qui précède avec une image, rien n'est écrit.


La raison pour laquelle je veux le faire est que je n'ai pas d'éditeur d'image installé, et cela m'a fait penser si je pouvais le faire sans en installer un.

Lerp
la source

Réponses:

49

Vous pouvez réellement le faire avec xclip. Le secret est l' -toption, qui vous renvoie à la section 2.6.2 de l' ICCCM . Ce que je vous avoue, je ne vous en veux pas de ne pas avoir lu ... Quoi qu'il en soit, un exemple, je viens de cliquer avec le bouton droit sur votre avatar dans Chromium et de sélectionner "Copier l'image":

  1. Découvrez les cibles disponibles:

    $ xclip -selection clipboard -t TARGETS -o
    TARGETS
    image/png
    text/html
    
  2. Notez la image/pngcible; allez-y et obtenez-le:

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

REMARQUE: certaines recherches montrent que vous avez besoin de xclip à partir de la révision 81 de SVN (à partir d'avril 2010) ou version ultérieure pour disposer de l' -toption requise . Ou appliquez vous-même les patchs .

derobert
la source
J'utilise 0.12, celui qui est proposé par pacmandonc je vais devoir obtenir la version amont. Merci!
Lerp
Erreur: l'image cible / png n'est pas disponible, elle est ancienne. Étirement Debian
Stígandr
@ Stígandr J'ai confirmé que cela fonctionne toujours sur ma machine exécutant les tests Debian (stretch). Vous avez peut-être copié un JPEG ou un autre type d'image? Il est probablement préférable de poser une nouvelle question plutôt que de la déboguer dans les commentaires.
derobert
3

xclip ne fonctionne pas avec les images sur mon ordinateur (svn84-4):

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

Mais il existe un autre programme qui prend une capture d'écran et la colle dans un fichier, très simplement: scrot :

scrot /tmp/myImage.png
Gérard
la source