명령 줄을 사용하여 파일에서 이미지를 클립 보드로 복사하는 방법은 무엇입니까?


23

이미지 파일을 가져 와서 50 % 확장 한 다음 클립 보드에 붙여 넣어 쉽게 붙여 넣을 수있는 스크립트를 작성하고 싶습니다. 내가 붙어있는 비트는 클립 보드에 이미지를 배치하는 방법입니다.

나는 xclip을 알고 있지만 텍스트만을 다루는 AFAICS. 클립 보드에 이미지를 생성 한 응용 프로그램없이 이미지를 클립 보드에 넣을 수 있습니까? -클립 보드 작동 방식에 대해 잘 모르겠습니다.

편집하다

아래 Florian의 답변 덕분에 원하는 것을 얻을 수있었습니다. 스크린 샷을 찍고 너비를 최대 600px (예 : 이메일에 붙여 넣기)로 자동 조정하는 것이 었습니다. 내가 직면 한 추가 문제는 Thunderbird가 image/png클립 보드에서 허용하지 않는다는 것 입니다. 나는로 변환하여 라운드있어 text/html로모그래퍼 dataURL입니다. 누구나 유용하다고 생각하는 경우 내 코드는 다음과 같습니다.

#!/bin/bash
TMP=/tmp/screenshot.png
function screenshotfail {
  notify-send -u low -i image "Screenshot failed."
  exit
}
# Take screenshot
gnome-screenshot -a -b -p -f "$TMP" || screenshotfail
# Ensure it's max 600px wide
mogrify -resize '>600x' "$TMP" || screenshotfail
# optimise the png if optipng is installed.
which optipng >/dev/null && optipng "$TMP"

# Copy to clipboard.
#
# This is what does not work for Thunderbird:
#   xclip -selection clipboard -t image/png <"$TMP" || screenshotfail
# But this does:
echo "<img src='data:image/png;base64,"$(base64 -w0 "$TMP")"' />" | \
  xclip -selection clipboard -t text/html || screenshotfail

# Remove the temp file.
rm -f "$TMP"

# Notify user.
notify-send -u low -i image "600px screenshot copied to clipboard"

답변:


32

사용 -t같은 내용 유형을 지정하는 옵션을

xclip -selection clipboard -t image/png -i example.png

-t내 xclip 버전 0.12에서 작동하지 않습니다
Irfan

전원 내부 @ : XCLIP 0.12와 나를위한 작품 16.10에
플로리안 Diesch

1
이 작업을 17.10에서 수행하려면 다음과 같이해야합니다.xclip -selection clipboard -t image/png -o > example.png
Anake

내 우분투 16.04.5 LTS에서 xclip 버전 0.12와 호환
Champ

KDE / plasma 또는 LXQT와 같은 Qt 환경이 아닌 Gnome과 같은 GTK 환경에서만 작동합니다.
noraj
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.