Tôi có thể sao chép hình ảnh trong Gimp và dán nó vào tài liệu OpenOffice.
Làm thế nào để làm điều đó (sao chép hoặc dán hình ảnh) từ dòng lệnh?
Tôi có thể sao chép hình ảnh trong Gimp và dán nó vào tài liệu OpenOffice.
Làm thế nào để làm điều đó (sao chép hoặc dán hình ảnh) từ dòng lệnh?
Câu trả lời:
Như được tìm thấy ở đây , chìa khóa để dán dữ liệu nhị phân vào một tệp xclip
là cho biết loại phương tiện nào bạn có trên bảng tạm. Đối với PNG bạn có thể:
xclip -selection clipboard -t image/png -o > "`date '+%Y-%m-%d_%T'`.png"
Hoặc image/jpeg
và .jpg
cho JPEG.
Vì vậy, bây giờ ~/Dropbox/.mybashrc
tôi đã thêm một bí danh (clipboard2photo) để dễ dàng dán vào tệp hình ảnh (có thể một ngày nào đó chúng ta sẽ có nó trên Nautilus ).
Tôi tin rằng lý do tại sao kịch bản Leo Alekseyev đôi khi không hoạt động (trên một số hệ thống) được giải thích trong câu trả lời này cho một câu hỏi tương tự. Phần quan trọng được trích dẫn ở đây:
Một điều kỳ lạ khác với hầu hết các hệ thống khác: nếu chương trình sở hữu lựa chọn (clipboard) biến mất, thì lựa chọn cũng vậy.
Khi tôi chạy tập lệnh của Leo trong shell python, nó đang hoạt động, miễn là shell đang chạy. Vì vậy, tôi nghĩ rằng dữ liệu clipboard bị mất, khi tập lệnh kết thúc. Các giải pháp được đăng trong câu trả lời, đang làm việc cho tôi:
#!/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()
Cập nhật từ _Vi: Để hoàn tất, hãy thêm tập lệnh clipboard-> tập tin:
#!/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", {})
Kịch bản python / pygtk sau đây thực hiện công việc:
#!/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]);
(Nguồn: http://ubuntuforums.org/showthread.php?t=1689889 )
Để sử dụng điều này, sudo apt-get install python pygtk
hãy dán đoạn mã trên vào một tập lệnh, chmod +x
để thực thi và bạn nên sử dụng nó.
wget http://upload.wikimedia.org/wikipedia/commons/d/d9/Test.png && ./test.py Test.png
, trong đó test.txt chính xác là những gì được dán ở đây. Dán tốt vào Gimp.