Skopiuj obraz ze schowka do pliku


28

Czy możliwe jest pobranie obrazu ze schowka i przesłanie go do pliku (za pomocą X)?

Z łatwością mogę to zrobić z tekstem:

$ xclip -selection c -o > file.text

Ale kiedy próbuję powyższego z obrazem, nic nie jest zapisywane.


Powodem, dla którego chcę to zrobić, jest to, że nie mam zainstalowanego edytora obrazów i zastanowiłem się, czy mogę to zrobić bez instalacji.

Odpowiedzi:


49

Możesz to zrobić za pomocą xclip. Sekretem jest -topcja, która odsyła cię do ICCCM, sekcja 2.6.2 . Przyznaję, że nie winię cię za to, że nie przeczytałeś ... W każdym razie, na przykład, kliknąłem twój awatar prawym przyciskiem myszy w Chromium i wybrałem „Kopiuj obraz”:

  1. Zobacz, jakie cele są dostępne:

    $ xclip -selection clipboard -t TARGETS -o
    TARGETS
    image/png
    text/html
    
  2. Zwróć uwagę na image/pngcel; śmiało i zdobądź to:

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

UWAGA: Niektóre badania pokazują, że potrzebujesz xclip z wersji SVN 81 (od kwietnia 2010 r.) Lub nowszej, aby mieć wymaganą -topcję. Lub zastosuj łaty samodzielnie.


Korzystam z wersji 0.12, która jest oferowana przez, pacmanwięc będę musiał pobrać wersję nadrzędną. Dzięki!
Lerp

Błąd: obraz docelowy / png niedostępny, to może być stary. Debian stretch
Stígandr

@ Stígandr Potwierdziłem, że nadal działa to na moim komputerze z uruchomionym testowaniem Debiana (stretch). Może skopiowałeś plik JPEG lub inny rodzaj obrazu? Prawdopodobnie najlepiej zadać nowe pytanie zamiast debugować je w komentarzach.
derobert

3

xclip nie działa z obrazami na moim komputerze (svn84-4):

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

Ale jest inny program, który robi zrzut ekranu i wkleja go do pliku, po prostu: scrot :

scrot /tmp/myImage.png
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.