Linuxでコマンドラインから画像をクリップボードにコピーする方法は?


14

Gimpで画像をコピーして、OpenOfficeドキュメントに貼り付けることができます。

コマンドラインからそれを行う(画像をコピーまたは貼り付ける)方法は?


過去の「コマンドラインからクリップボードから貼り付ける」とはどういう意味ですか?おそらく同じだけのコピーのために:unix.stackexchange.com/questions/30093/...
チロSantilli新疆改造中心法轮功六四事件

任意のファイルタイプのためのより一般的な質問:superuser.com/questions/796376/...
チロSantilli新疆改造中心法轮功六四事件

回答:


5

見られるように、ここで、キーをファイルにバイナリデータを貼り付けるxclipものを伝えることですメディアタイプクリップボードに持っています。PNGの場合:

xclip -selection clipboard -t image/png -o > "`date '+%Y-%m-%d_%T'`.png"

またはimage/jpeg.jpgJPEGの場合。

だから今私~/Dropbox/.mybashrcは画像ファイルに簡単に貼り付けるためにエイリアス(clipboard2photo)を追加します(おそらくいつかNautilusにあるでしょう)。


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

7

Leo Alekseyevスクリプトがときどき(一部のシステムでは)動作しない理由は、同様の質問に対するこの回答で説明されていると思います。ここに引用された重要な部分:

他のほとんどのシステムと異なる奇妙な点の1つは、選択範囲(クリップボード)を所有しているプログラムがなくなると、選択範囲もなくなることです。

LeoのスクリプトをPythonシェルで実行すると、シェルが実行されている限り動作します。スクリプトが終了すると、クリップボードのデータは失われると思います。答えに投稿されたソリューションは、私のために働いています:

#!/usr/bin/env python
import gtk 
import sys

count = 0
def handle_owner_change(clipboard, event):
    global count
    print 'clipboard.owner-change(%r, %r)' % (clipboard, event)
    count += 1
    if count > 1:
       sys.exit(0)

image = gtk.gdk.pixbuf_new_from_file(sys.argv[1])
clipboard = gtk.clipboard_get()
clipboard.connect('owner-change', handle_owner_change)
clipboard.set_image(image)
clipboard.store()
gtk.main()

_Viからの更新:完全を期すために、clipboard-> fileスクリプトを追加します。

#!/usr/bin/python
import gtk, pygtk
pygtk.require('2.0')
import sys, os

clipboard = gtk.clipboard_get()
img = clipboard.wait_for_image()
img.save(sys.argv[1], "png", {})

手動で終了する方法は少し面倒ですが、少なくとも動作します:)。ありがとう!
crazy2be 14年

1

次のpython / pygtkスクリプトがジョブを実行します。

#!/usr/bin/python
import gtk, pygtk
pygtk.require('2.0')
import sys, os

def copy_image(f):
    assert os.path.exists(f), "file does not exist"
    image = gtk.gdk.pixbuf_new_from_file(f)
    clipboard = gtk.clipboard_get()
    clipboard.set_image(image)
    clipboard.store()

copy_image(sys.argv[1]);

(情報源:http : //ubuntuforums.org/showthread.php?t=1689889

これを使用するにsudo apt-get install python pygtkは、上記のコードをスクリプトに貼り付けて、chmod +x実行可能ファイルを作成します。


このスクリプトを使用して小さなpng画像をコピーしました。OpenOfficeにもGimpにも貼り付けられません(「クリップボードに貼り付ける画像データがありません」)。動作しません。Gimpで実際の画像をコピーし、このスクリプトを使用すると、バッファはその前のテキストに戻ります。
Vi。

私はちょうど試しました:wget http://upload.wikimedia.org/wikipedia/commons/d/d9/Test.png && ./test.py Test.pngtest.pyはまさにここに貼り付けられたものです。Gimpにうまく貼り付けます。
レオアレクセイエフ

Test.pngで試しました。「クリップボードに貼り付ける画像データがありません」。Gnomeの実行に依存していますか?これをデバッグするには?Gimpで画像を正常にコピーし、Openofficeで貼り付けることができるので、一般にコピーは機能します。
Vi。

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