리눅스의 커맨드 라인에서 클립 보드로 그림을 복사하는 방법은 무엇입니까?


14

Gimp에서 이미지를 복사하여 OpenOffice 문서에 붙여 넣을 수 있습니다.

명령 줄에서 이미지를 복사하거나 붙여 넣는 방법은 무엇입니까?


과거 "명령 줄에서 클립 보드에서 붙여 넣기"란 무엇입니까? 아마도 동일하지만 사본에 대해서만 : unix.stackexchange.com/questions/30093/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

모든 파일 형식에 대한보다 일반적인 질문 : superuser.com/questions/796376/…
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

답변:


5

here 에서 볼 수 있듯이 이진 데이터를 파일에 붙여 넣는 키 xclip는 클립 보드에 어떤 미디어 유형 이 있는지 알려주는 것 입니다. PNG의 경우 다음을 수행 할 수 있습니다.

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

또는 image/jpeg.jpgJPEG합니다.

그래서 이제는 ~/Dropbox/.mybashrc이미지 파일에 쉽게 붙여 넣을 별칭 (clipboard2photo)을 추가합니다 (언젠가 우리는 노틸러스에 넣을 것입니다 ).


첫 번째 링크에서 언급 한 바와 같이 : 참고 : 일부 연구에 따르면 필수 -t 옵션을 사용하려면 SVN 개정판 81 (2010 년 4 월) 이상의 xclip이 필요합니다. 또는 직접 패치를 적용 하십시오.
i336_

7

Leo Alekseyev 스크립트가 때때로 (일부 시스템에서) 작동하지 않는 이유는이 질문 에 대한 비슷한 질문에 설명되어 있습니다. 여기에 인용 된 중요한 부분 :

대부분의 다른 시스템과는 다른 한 가지 이상한 점이 있습니다. 선택 (클립 보드)을 소유 한 프로그램이 사라지면 선택도 마찬가지입니다.

파이썬 쉘에서 Leo의 스크립트를 실행하면 쉘이 실행되는 한 작동합니다. 스크립트가 종료되면 클립 보드 데이터가 손실된다고 생각합니다. 답변에 게시 된 솔루션이 나를 위해 일하고 있습니다.

#!/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에서 업데이트 : 완전성을 위해 클립 보드-> 파일 스크립트를 추가하십시오.

#!/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

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는 여기에 붙여 넣은 곳입니다. 김프에 잘 붙입니다.
Leo Alekseyev

Test.png로 시도했습니다. "클립 보드에 붙여 넣을 이미지 데이터가 없습니다". Gnome 실행에 의존합니까? 이것을 디버깅하는 방법? Gimp에서 이미지를 성공적으로 복사하고 Openoffice에 붙여 넣을 수 있으므로 일반적인 복사 작업이 가능합니다.
Vi.

E : pygtk 패키지를 찾을 수 없습니다
qed
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.