Image-Manipulation

圖像剪貼板

  • August 7, 2011

我經常閱讀一些帶有圖像的文本,並且經常發生文本談論下一頁、下一頁和上一頁上的圖像,我不得不前後移動,通常會忘記我在哪裡暫停閱讀。

我有一個想法將圖像保存到圖像剪貼板,該剪貼板能夠包含大約 5 張圖像(例如,製作螢幕區域的小螢幕截圖)。在閱讀文本時“參見圖片 10.4(第 42 頁)”並在幾秒鐘內“將其與圖片 10.2(第 40 頁)進行比較”時,我可以只按鍵盤快捷鍵並選擇所需的圖片,而無需瀏覽文本。

這在 X Window 系統中可能嗎?還是用一些腳本?

你可以用這個做點什麼。

它允許你在一個臨時目錄中收集圖像(每個圖像點擊兩次滑鼠),scriptname -c然後在一個輕量級的圖像查看器中顯示圖像,該查看器可以通過以下方式輕鬆導航游標鍵;scriptname -s

它將始終以最新的圖像開始顯示。如果您真的想將其限制為 5,那麼您可以調整腳本,但它們在 /tmp 中,並且經常被清理掉。

只需將scriptname -c和分配給scriptname -s您選擇的快捷鍵.. 我xbindkeys用來綁定我的快捷鍵。

#!/bin/bash
#
# Run $ script  [-c | -s] 
#    
# Uses:  grabc     GRAB Colour - screen pixel colour
#                  Allows you to position amd click the mouse. 
#                  The actual co-ordinates capture is done by xdotool.
#        xdotool   simulate X11 keyboard/mouse input
#        scrot     SCReen shOT - screen capture
#        pnmtopng  (from package 'netpbm') convert format  
#        display   (from package 'imagemagick') display single image  
#        eog        Eye Of Gnome - to display images forward and backwards
#
# Note: The area selection requires two distinct mouse clicks
#       First click the top-left corner, then the bottom-right corner
#       It is not a click-and-drag style of selection.
#

bname="$(basename "$0")"
oudir="/tmp/$USER/$bname"; [[ -d "$oudir" ]] || mkdir -p "$oudir"

case "$1" in 
-s) # show images
    eog "$(find "$oudir" -maxdepth 1 -type f -name 'screen.20[0-9][0-9]-*.png' \
           |sort |tail -n 1)"
  ;;
 *) # capture image and save to output dir
    grabc 1>/dev/null  2>/dev/null; eval $(xdotool getmouselocation --shell); L=$X; T=$Y
    grabc 1>/dev/null  2>/dev/null; eval $(xdotool getmouselocation --shell); R=$X; B=$Y
    ((R<L||B<T)) && { echo "ERROR: invalid rectangle selected" 1>&2; exit 1; }
    scrot "$oudir/screen.pnm"
    oupic="$oudir/screen.$(date '+%Y-%m-%d %H:%M:%S').png"
         <"$oudir/screen.pnm" pnmcut -left $L -top $T -bottom $B -right $R \
         | pnmtopng > "$oupic"
           display    "$oupic" # for a quick preview.
  ;;
esac
#  

引用自:https://unix.stackexchange.com/questions/12618