2017年6月22日 星期四

Gifsicle 和 Giflossy(Gifsicle的一個Github Fork) (nmake, visual studio)

Gifsicle是個功能強大的GIF處理程式,使用命令列視窗來執行,
可以將許多張圖合成一張GIF動畫、
查詢GIF的size (包括各frame)、
切割、提取、加入frame到GIF動畫中、
壓縮GIF等。

以下是它的資訊:
Gifsicle
官網 :  http://www.lcdf.org/gifsicle/
Github : https://github.com/kohler/gifsicle

gifsicle只提供了三種壓縮輸出,
-O1, -O2, -O3,其中-O3效果最好,
例如 cmd 指令:
gifsicle -O3 froSrc.gif  -o toSrc.gif
但對於一些GIF可能無法再壓縮的更小。

這時就可以使用Giflossy來幫忙了。
Giflossy是一個在Github上fork了gifsicle的一個分支專案,
擴充了gifsicle的功能,加了一個參數,--lossy=XX
XX可選數字,越大壓縮比率越高,但也越失真,
可以用如下cmd指令來壓縮:
gifsicle -O3 froSrc.gif --lossy=30 -o toSrc.gif

以下是Giflossy的資料

Giflossy
官網 : https://kornel.ski/lossygif
Github : https://github.com/pornel/giflossy


===================================================

Gifsicle和Giflossy的Github上都沒有提供給Windows現成的 exe 檔,
但有提供Makefile,可以利用Visual Studio 內建命令列視窗中的 make 工具來進行
編譯,
下載好Gifsicle或Giflossy後,如果有裝Visual Studio,可以打開"開發人員命令提示字元" ( Developer Command Prompt ),進到 gifsicle/src/ 內,打上
nmake -f Makefile.w32

就可以在當下路徑中看到編譯出來的 gifsicle.exe 了,
要注意的是它並沒有幫忙編譯 gifdiff.exe 。

如果有人沒有 Visual Studio,或是需要32位元的編譯版本,
我在這裡發現有人幫忙編譯好了 ,順便也放在這裡分享。

Note:
今天發現 Giflossy 專案已經被官方採納,已被 merge 至官方 git 專案中了,
Giflossy git 網站上有寫:
This project has now been officially merged upstream into Gifsicle, so please use that: https://github.com/kohler/gifsicle

題外話,Linux 中例如 Ubuntu 只要用
apt-get install gifsicle
就可以安裝使用 Gifsicle 了