Komut satırını kullanarak bir görüntü panoya bir dosyadan nasıl kopyalanır?


23

Resim dosyası almak için bir komut dosyası yazmak,% 50 ölçeklemek ve kolayca yapıştırmak için panoya koymak istiyorum. Sıkışmış olduğum bit panoya nasıl resim yerleştirileceğidir.

Xclip'i biliyorum, ancak yalnızca metinle ilgilenen AFAICS. Etrafında oturan bir uygulama olmadan panoda bir görüntü olması mümkün mü? - Üzgünüm, panonun çalışma şeklinin içsellerinden emin değilim!

DÜZENLE

Florian'ın aşağıdaki cevabı sayesinde istediğimi elde ettim, ekran görüntüsünü almak ve otomatik olarak maksimum 600 piksel genişliğe kadar ölçeklendirmek (örneğin bir e-postaya yapıştırmak için). Karşılaştığım diğer sorun Thunderbird'ün image/pngpanodan kabul etmemesiydi . Bunu text/htmlbir dataURL ile dönüştürerek bunu çözdüm. İşte herkesin yararlı bulması durumunda benim kodum:

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

Görünüşe birinin kopyası: unix.stackexchange.com/questions/30093/...
Champ

Yanıtlar:


32

-tGibi içerik türünü belirtmek için seçeneği kullanın

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

-tbenim xclip sürüm 0.12 üzerinde çalışmıyor
Irfan

@ Power-Inside:
16.10'da

1
Bunu xclip -selection clipboard -t image/png -o > example.png
17.10'da

Benim Ubuntu 16.04.5 LTS üzerinde xclip sürümü 0.12 ile İşleri
Champ

KDE / plasma veya LXQT gibi Qt ortamlarında değil, yalnızca Gnome gibi GTK ortamlarında çalışır.
Noraj
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.