Jeff Atwood
2011-03-30 22:03:19 UTC
此處是用於執行此操作的實用程序。
pngpaste
將PNG粘貼到文件中,就像pbpaste對文本所做的操作一樣。 / p>
它是
pngpaste thefile.png
,而不是pngpaste > thefile.png
,因此不會意外地將二進製文件放入控制台。
如果打開Preview.app,則可以簡單地“新建” cmd kbd> + n kbd>,這將生成正確的畫布並粘貼剪貼板圖像。剩下要做的就是保存該文件。 Presto!
不太流暢,但不使用預覽。
查找器->編輯->顯示剪貼板
Cmd kbd> + Shift kbd> + 4 kbd>獲取截屏選框工具,然後復制所需的剪貼板部分。現在它是您桌面上的PNG。但是可能不是完全相同的圖像文件。
以這種速率,您可能可以使用相同的方法截屏原始源,然後直接使用PNG而不使用剪貼板。
使用Preview.app是一種方法,但有點麻煩。也可以在命令行上完成。
因為 pbpaste
只能 pbpaste >文件名
文本片段,所以您要改用 pngpaste
。
與Brew一起安裝:
釀造pngpaste
並使用它:
png粘貼<文件名>
從終端,您可以使用 osascript
從剪貼板中獲取圖像。
定義以下功能。第一個函數以十六進制數字字符串的形式獲取剪貼板的內容。第二個功能將十六進制數字解碼為二進制。
#獲取剪貼板為<class>
getclip(){
本地類= $ 1;轉移; :$ {class :?}
osascript -e“將剪貼板設置為“ class $ {class}»”
}
#獲取剪貼板為<class>(解碼十六進製字符串)
getclipb(){
本地類= $ 1;轉移; :$ {class :?}
getclip“ $ class” | sed“ s /«data $ {class} //; s /»//” | xxd -r -p
}
$ getclipb PNGf >x.png
您可以使用以下功能打印剪貼板信息(當前的數據格式&大小集):
#打印剪貼板信息 cbi(){ osascript -e“剪貼板信息” | sed -E's /,/,/ g; s /,([[0-9] +)/:\ 1 / g'| tr':,''\ t \ n' }
$ cbi |展開-t 16
«PNGf級»3970
«等級8BPS»4610
GIF圖片60
«class jp2»4367
JPEG圖片4877
TIFF圖片4810
«班級BMP»534
«TPIC級»68