創用 CC 授權條款
除非另有註明,本網站的著作Fygul Hether製作,以創用CC 姓名標示-非商業性-禁止改作 4.0 國際 授權條款釋出。

2019年6月15日 星期六

Linux捲動視窗擷圖與接圖

在Linux桌面環境中若想要擷取螢幕畫面有很多方式[1],[2],像:
只是其中目前似乎沒有可以擷取捲動視窗畫面的功能,而這在Windows上並不是什麼新鮮玩意,印象中WinSnap早在十幾年前就提供此功能,後來出現的像PicPickShareX也有。在Linux上想取得捲動視窗完整畫面的方法,在目前也許只有透過接圖(image stitching)[3]的方式來達成,本文就來談談這方面的做法。

至於擷取瀏覽器中網頁的捲動視窗,現代的瀏覽器像Firefox Quantum本身就提供此功能,很輕易就能辦到,用不著任何額外的擷圖軟體,這就不在本文的討論範圍。

做法簡介

為方便說明,將做法大致分成以下幾個步驟:
  1. 擷圖
  2. 必要時剪除不要的部分
  3. 調整圖片方向成橫向
  4. 接圖
  5. 圖片轉回直向
以下會花較多的說明在接圖這部分,其他則僅做較簡單的說明。展示環境為Ubuntu MATE 18.04與GIMP 2.8.22,假定讀者熟悉它們的使用。

步驟一:擷圖

首先使用自己慣用的擷圖軟體,取得所要的擷圖。

這裡以“控制中心”這支程式為例,將其視窗調縮小到某程度使其右側出現捲動軸。這僅是為了展示才這麼做,否則將其最大化就可一次取得整個視窗畫面。

使用Shutter[4],[5]或是其他擷圖軟體取得上下兩個畫面如下:


注意在取圖時,為方便二圖的接合,上圖的下端與下圖的上端要有出現重複的圖示,不要只是空白的空間。

本文僅以兩張圖為例,如果有更多張圖,必須再做適當調整。

步驟二:必要時剪除不要的部分

上述二圖片中,所要的只是右方圖示的區塊,故要把標題列邊框、捲動軸與左邊部分修剪掉。這工作可用GIMP輕易辦到。

步驟三:調整圖片方向成橫向

之所以要把圖片轉成橫向,主要是目前常見的接圖軟體,通常是拼接環景圖用的,即水平式的接圖,但前面的擷圖是上下兩張垂直式的。如果所用的接圖軟體可做垂直式接圖,就沒必要做此步驟。

此工作在GIMP中也是很容易辦到,將圖片逆時針轉90度即可,完成的兩張圖供以下接圖用。

步驟四:接圖

這裡提供兩種方法,都要做點人工動作,沒有全自動。

1. GIMP與Pandora外掛程式[6]

如果熟悉GIMP可以用這個方式。首先去下載Pandora(按右鍵另存),然後將該檔案複製到GIMP存放外掛程式的目錄中。這可從GIMP的設定中看出來,“編輯” -> “偏好設定”,出現偏好設定視窗後,找“資料夾” -> “外掛程式”,如下圖:

本例存到自己家目錄下的那個目錄即可,即第一個。

重新啟動GIMP,“檔案” -> “開啟成為圖層”,點選前述已轉90度的兩張圖片。這裡記得顯示“圖層”停駐式對話盒以方便後續的作業。此時應該只有這兩個圖層,沒有其他的。

再來執行Pandora外掛程式:FX-Foundry -> Multi-Layer Tools -> Spray out layers...

出現以下對話盒:
  • 這裡Overlap (percent)(重疊百比分)調為10,這是大概估計的,後面待微調。
  • Top Layer on Right(上方圖層在右)在這裡取消掉,因為上層是左邊的圖。
按“確定”。執行此工作時,Pandora會依設定做圖片重疊,並產生圖層遮罩。

再來要調整圖層位置,讓兩張圖可緊密接合。為方便作業,把GIMP視窗最大化,必要時也把圖放大。

點選“移動”工具,移動其中一個圖層,完成二圖的接合。做這工作可將圖放大,以上下左右按鍵來微調移動的位置。如圖:

對接合結果滿意後,“圖片” -> “畫布縮放至符合圖層尺寸”

此例只有二圖層做接合,如果有多個圖層,則是逐一接合,接合時記得要調整圖層的顯示,只顯示接合中的那兩個圖層,以方便作業。

GIMP還有以下其他plug-in供製作環景圖,但自己沒實際試過:
未完待續……

沒有留言:

張貼留言