クリップボードからファイルに画像をコピー


28

クリップボードから画像を取得し、ファイルに出力することは可能ですか(Xを使用)?

テキストでこれを簡単に行うことができます:

$ xclip -selection c -o > file.text

しかし、画像で上記を試しても何も書かれません。


私がこれをしたいのは、イメージエディターがインストールされていないため、インストールせずにこれを実行できるかどうかを考えさせられたためです。

回答:


49

実際にこれを行うことができます xclipます。秘密は-tオプションであり、ICCCMセクション2.6.2を参照します。読まなかったからといって非難しないと告白します...とにかく、例として、Chromiumであなたのアバターを右クリックし、「画像をコピー」を選択しました。

  1. 使用可能なターゲットを確認します。

    $ xclip -selection clipboard -t TARGETS -o
    TARGETS
    image/png
    text/html
    
  2. image/pngターゲットに注意してください。先に行き、それを取得します:

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

注:一部の調査では、必要な-tオプションを使用するにはSVNリビジョン81(2010年4月以降)以降のxclipが必要であることが示されています。または、パッチを適用します自分で。


提供されている0.12を使用pacmanしているため、アップストリームバージョンを取得する必要があります。ありがとう!
Lerp 14

エラー:ターゲットimage / pngは使用できません。これは古いものです。Debianのストレッチ
Stígandr

@Stígandrこれは、Debianテスト(ストレッチ)を実行している私のマシンでまだ動作することを確認しました。JPEGまたは他の種類の画像をコピーした可能性がありますか?おそらくコメントでデバッグするのではなく、新しい質問をすることをお勧めします。
デロバート

3

xclipは私のコンピューター上の画像では動作しません(svn84-4):

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

しかし、スクリーンショットを取り、非常に簡単に、ファイルに貼り付け、別のプログラムがあります:scrot

scrot /tmp/myImage.png
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.