愛伊米

在 macOS 上一鍵拼圖,你只需要一個快捷指令

編注:

本文為少數派 Prime 會員的試讀文章,少數派會員第一季的內容更新已於 5 月底順利結束。目前,第二季會員即將正式上線,你可以隨時前往少數派首頁購買。

作為公眾號運營,從我派首頁往公眾號後臺搬運文章的時候總會遇到一個問題:公眾號後臺不相容首頁編輯器製作的拼圖。我過往的解決方案是將需要拼接的圖片拖拽進 Yoink,再一次性拖入 Tunacan 拼圖儲存。

在 macOS 上一鍵拼圖,你只需要一個快捷指令

用 Tunacan 拼接影象

雖然聽起來挺方便的,但這個方案還是有一些不足之處:

一次性拖入時,拼圖順序與 Yoink

排列順序相反

切換拼圖方向、儲存拼圖都

需要手動操作

會在本地生成一張圖片,

需要手動刪除

於是,在某個早晨手動拼了半小時圖片後,我決定試試快捷指令能否解決這一問題。經過十分鐘的折騰之後,我不但解決了上面所有問題,甚至還加入了自動識別拼圖方向、自動清除圖片的功能。

在 macOS 上一鍵拼圖,你只需要一個快捷指令

用快捷指令拼接影象

注:本文的方法用到了 Yoink,如果你沒有購買 Yoink,也可以在程式塢新建一個資料夾作為臨時儲存所用,並在快捷指令用相關動作來替換。

快捷指令邏輯

這個快捷指令的邏輯非常簡單,只是簡單的 獲取要拼接的影象 > 拼接影象 而已。得益於 Yoink 對快捷指令的支援,我可以直接在快捷指令中呼叫 Yoink 所儲存的專案,利用自帶的「拼接影象」功能完成拼接後,再儲存至 Yoink 即可。

在 macOS 上一鍵拼圖,你只需要一個快捷指令

核心動作只有 4 個

在日常拼圖的時候,圖片的尺寸未必完全相同。因此,我還加上了對圖片尺寸的調整功能。我的做法是獲取首張圖片的長 / 寬,並將所有的圖片對應調整。也就是說,如果是豎排拼接的話,它就會自動調整圖片寬度至首張圖片的寬度;水平拼接則會調整高度。

聽起來有點繞,但整體的邏輯是

以首張圖片的尺寸為標準,調整所有圖片

。如果不這麼做的話,在拼接不同尺寸圖片時,邊緣就無法對齊,從而產生醜陋的白邊。

在 macOS 上一鍵拼圖,你只需要一個快捷指令

如果不調整圖片大小,就會有醜陋的白邊

在使用時,我只要按照拼接順序將圖片拖拽進 Yoink,隨後按下快捷鍵,再在彈出視窗中全選圖片,即可完成拼圖。快捷指令會自動清空 Yoink 內容並將拼接好的圖片加入進去。

如此一來,我們就已經解決了「需要手動拼接」的問題。受限於快捷指令與 Yoink 的協作機制,暫時無法做到「自動獲取圖片」和「只清除已拼接的圖片」的效果,但相比於手動拼接來說,它的效果還是非常不錯的。

在 macOS 上一鍵拼圖,你只需要一個快捷指令

照片選擇步驟暫時無法跳過

01

自動判斷拼接方向

在實際的拼圖過程中,我們可能會遇到一些比較複雜的問題。比如兩張電腦桌面的截圖,如果橫向拼接的話,就會導致圖片小得幾乎看不清。因此,我們還應該考慮快捷指令能否「判斷方向」的問題。

雖然利用「如果」·動作可以非常輕鬆地實現條件判斷,但我們仍需要考慮

什麼情況下需要切換拼圖方向

我首先想到的是獲取照片的「方向」進行判斷:橫向照片豎排拼接,縱向照片水平拼接。這樣會導致 4:3、3:2 這樣常見的照片比例會被豎排拼接,而我希望將這些照片以橫向拼接的形式呈現。

因此,我最後選擇的方案是計算首張照片的長寬,並將短邊相拼。做法則是將寬度乘以 0。5,並與高度進行對比。這裡之所以用乘 0。5 而不是除以 2,是因為方便進行靈活修改,如果在使用過程中,發現某些情況下沒有正確拼接,只需要調整為 0。45、0。57 這樣的數字即可,不需要重新計算除數。

在 macOS 上一鍵拼圖,你只需要一個快捷指令

用計算來判斷圖片拼接方向

02

讓快捷指令「一魚多吃」

相信熟悉少數派的朋友都知道,我們向來鼓勵作者透過飛書文件向我們提交稿件。然而,飛書文件的圖片是無法直接拖拽到 Yoink 的。我平時的做法是「右鍵 > 在新標籤頁中開啟影象」。但在 Safari 中,這樣的做法會出現兩種結果:

圖片被自動下載到「下載」資料夾中;

圖片在新標籤頁中開啟。

在 macOS 上一鍵拼圖,你只需要一個快捷指令

飛書雲文件不支援拖拽圖片至 Yoink

這兩種情況出現的機率比較隨機,即使我有了這個快捷指令,想要給飛書文件中的圖片做拼圖還是很麻煩。於是,我對這個快捷指令進行了簡單的改造,讓它可以實現「一魚多吃」的效果。

首先,我在快捷指令的設定中為它勾選了「作為快速操作使用」中的「訪達」。如此一來,當我選中多張本地圖片後,前往「右鍵選單 > 快速操作」即可看到這個快捷指令。

在 macOS 上一鍵拼圖,你只需要一個快捷指令

開啟此功能後,快捷指令的編寫介面就會出現「從快速操作接收任何輸入」的提示,將「任何」改為只勾選影象,新增一個「如果」判斷。如果有輸入的內容,就執行一遍拼接操作,並用「停止並輸出」功能來中斷快捷指令,不執行後續 Yoink 相關的操作。

在 macOS 上一鍵拼圖,你只需要一個快捷指令

如果選擇了檔案,就直接拼合

如果沒有輸入的內容,則會跳過這個判斷,直接執行下方 Yoink 動作。

在 macOS 上一鍵拼圖,你只需要一個快捷指令

如果沒選擇檔案,就從 Yoink 拼合

簡單改造過後,飛書文件裡的圖片只需要通通選擇下載,再到「下載」資料夾裡選中需要拼接的圖片,隨後在「右鍵選單 > 快速操作」執行該指令即可。這樣一來,除了可以拼合 Yoink 中的圖片,甚至還可以對本地圖片進行加工,非常方便。

在 macOS 上一鍵拼圖,你只需要一個快捷指令

一 魚 兩 吃

擴充套件用法

這個快捷指令已經可以滿足我對於拼圖的需求,並且理論上支援無限張圖片拼接。配合上 Keyboard Maestro 先前更新的快捷指令功能,甚至還可以增加更多的玩法。

比如,你可以在快捷指令中將最後一步修改為「複製至剪貼簿」,隨後在 Keyboard Maestro 中執行一次「 Command - V」。如此一來,就能一鍵將需要的圖片拼接並貼上。如果你平時喜歡在各種論壇發帖,你甚至可以在拼接完成後,讓快捷指令「獲取 URL 內容」裡的 POST 功能幫你上傳至圖床,並自動將圖床連結複製至你的剪貼簿。

總而言之,這個快捷指令更像是滿足「拼圖」需求的一塊磚,你完全可以根據自己的需求對其進行最佳化擴充套件,實現更加高效的動作。

https://sspai。com/prime/story/shortcut-collage-howto?utm_source=wechat&utm_medium=social

作者:Tp