Làm thế nào để sao chép hình ảnh vào clipboard, để dán vào ứng dụng khác?


6

Tôi muốn đặt bảng tạm thành tệp abc.jpg, ở định dạng hình ảnh, vì vậy tôi có thể dán nó vào gpaint, v.v. ứng dụng X11, tôi có thể không?

Tôi đã kích hoạt tính năng Chụp ảnh màn hình trong trình Compizquản lý cửa sổ và tôi cần đưa ra một dòng lệnh để sao chép tệp hình ảnh chụp nhanh vào bảng tạm.

Câu trả lời:


9

Đầu tiên, cài đặt python và pygtk

sudo apt-get install python pygtk

Bây giờ hãy lưu tập lệnh sau ở đâu đó dưới dạng imgclip.py (xem https://stackoverflow.com/questions/3571855/pasting-image-to-clipboard-in-python-in-linux )

#! /usr/bin/python

import pygtk
pygtk.require('2.0')
import gtk
import os
import sys

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]);

Để dùng nó:

python /path/to/imgclip.py filename.png

Lưu ý: thử nghiệm dán trong gimp và xournal. Lưu ý: đây là dành cho máy tính để bàn gnome (do đó gtk). Tôi cá là có một cái gì đó tương tự cho kde


5

Cài đặt xclip(hãy chắc chắn phiên bản là 0.12 + svn84, vì 0.12 là không đủ); sau đó, thêm dòng này vào hộp trong trình quản lý cài đặt compiz:

xclip -selection clipboard -target image/png -i

Ví dụ trong compiz

Sau đó, bạn có thể dán nó vào bất kỳ ứng dụng x nào khác


3

Kiểm tra xclip. Nó cho phép bạn di chuyển văn bản, hoặc tập tin vào bảng tạm từ dòng lệnh.

CHỈNH SỬA :

Có các ứng dụng chụp màn hình dòng lệnh được thảo luận trong bài đăng này: http://www.linux.com/archive/feed/57772 bao gồm scrot. Đây là từ scrottrang người đàn ông:

Scrot là một tiện ích chụp màn hình bằng thư viện imlib2 để aquire
       và lưu hình ảnh. Scrot có một vài lựa chọn, chi tiết dưới đây. Chỉ định
       [file] làm tên tệp để lưu ảnh chụp màn hình.

Một lựa chọn cuối cùng là tìm một ứng dụng X chỉ chụp ảnh màn hình khi nhấp vào (không có lời nhắc, hộp thoại, v.v.), gán nó cho tổ hợp phím nóng và sử dụng xdotoolđể mô phỏng phím nhấn đó từ dòng lệnh ??


@OP, bạn thực sự cần một công cụ dòng lệnh, hay bạn chỉ đang cố gắng để có được một ảnh chụp màn hình vào clipboard? Có nhiều cách dễ dàng hơn để làm điều đó
Jeremy

Vâng, tôi cần một công cụ dòng lệnh.
Xiè Jìléi

Thật không may, cả hai xclipxselkhông hoạt động với hình ảnh, chúng chỉ hoạt động với nội dung văn bản.
Xiè Jìléi

Đúng vậy, xấu của tôi, tôi đã không thử dán vào một chương trình đồ họa, tôi chỉ thử xclip < image.jpgxclip -o > image2.jpgnó hoạt động, nhưng vô dụng; (
Jeremy

Tôi đã kiểm tra Scrot, nó hoạt động độc đáo để đưa ảnh chụp màn hình thẳng ra một tệp, nhưng nó không thể đưa nó vào bảng tạm: /
Jeremy

2

Tôi sẽ tắt tính năng chụp màn hình của Compiz, chỉ cần Head to to System-> Preferences-> Keyboard Shortcuts(thuộc Desktopdanh mục) và liên kết Print ScreenvớiTake a Screenshot

nhập mô tả hình ảnh ở đây


Bây giờ bất cứ khi nào bạn nhấn PrintScreenmột sreencapture sẽ được thực hiện với một tùy chọn để sao chép vào clipboard, hoặc chỉ để lưu tệp.

nhập mô tả hình ảnh ở đây


Không, tôi thích tính năng chụp màn hình đến từ Compiz.
Xiè Jìléi

Một câu hỏi nhỏ, làm thế nào để bạn thực hiện nút "In màn hình" trong SU?
Xiè Jìléi

2
@ 谢 继 oh chỉ cần đặt nút mong muốn giữa <kbd> & </ kbd>
Sathyajith Bhat

1

chà + xclip

Bạn có thể sử dụng scrotvới xclipđể chụp ảnh màn hình và sao chép nó vào clipboard.

scrot '/tmp/%F_%T_$wx$h.png' -e 'xclip -selection clipboard -target image/png -i $f'

Nó sẽ chụp toàn bộ màn hình của bạn và sao chép hình ảnh vào clipboard. Nếu bạn muốn chụp cửa sổ hiện tại thì sử dụng -ucờ. Để lựa chọn khu vực cụ thể, bạn có thể thêm -scờ. Xem $ man scrotđể có thêm lựa chọn.

Nó sẽ lưu trữ ảnh chụp màn hình của bạn trong /tmpthư mục. Bạn có thể thay đổi thư mục đó bất cứ nơi nào bạn muốn nó được lưu trữ. Các tập tin từ /tmpthư mục thường bị xóa sau mỗi lần khởi động lại. Nếu bạn muốn xóa ngay tệp đã lưu, hãy thực hiện một số thứ như:

scrot -w '/tmp/%F_%T_$wx$h.png' -e 'xclip -selection clipboard -target image/png -i $f && rm $f'

Khi tôi đọc các bình luận khác, bạn cần nó để sao chép ảnh chụp màn hình vào bảng tạm. Tôi mong bạn trả lời câu hỏi này.

Nếu bạn chỉ cần sao chép một tập tin hình ảnh đã có vào clipboard:

cat 2018-06-16-224938_670x730_scrot.png | xclip -selection clipboard -target image/png -i

Bạn có thể đặt phím tắt / bàn phím theo trình quản lý cửa sổ / Môi trường màn hình hiện tại.


Tiền thưởng

Giải thích về /tmp/%F_%T_$wx$h.png:

Nó đang được sử dụng làm tên tập tin. Chúng được gọi là format specifiers. Chúng có hai loại: bắt đầu bằng %hoặc $.

% F Tương đương với% Y-% m-% d (định dạng ngày ISO 8601).

% T Thời gian trong ký hiệu 24 giờ (% H:% M:% S).

%F_%T_sẽ in một cái gì đó như: 2018-06-17_02:52:19_tức là dấu thời gian hiện tại của bạn. Bạn có thể tùy chỉnh định dạng theo yêu cầu của bạn. Xem $ man strftimeđể được giúp đỡ thêm.

$wx$h là một phần của các specifier nội bộ của Scrot.

$ w chiều rộng hình ảnh
$ h chiều cao hình ảnh

Vì vậy, tên tập tin cuối cùng sẽ trông giống như 2018-06-17_02:52:19_1365x384.png.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.