RailsでMozjpegを使いたいっ!
2018年10月1日
jpeg画像のファイルサイズを良い感じに小さくしてくれるやーつ
Mozjpegのインストール
CentOSにMozjpegを入れます。yum installはできなそうだったので、ソースから。
curl -LO https: //github .com /mozilla/mozjpeg/releases/download/v3 .2 /mozjpeg-3 .2-release- source . tar .gz tar xf mozjpeg-3.2-release- source . tar .gz cd mozjpeg yum install automake gcc nasm . /configure && make && make install ln -s /opt/mozjpeg/bin/ * /usr/local/bin ln -s /opt/mozjpeg/share/man/man1/ * /usr/local/share/man/man1 |
Gem追加
gem install mozjpeg |
Rails(Ruby)
ま、ドキュメントに書いてあるまんまですが。
large_image = File . new ( 'large.jpeg' ) # オリジナルのファイル tiny_image = File . new ( 'tiny.jpeg' ) # 圧縮されたファイル Mozjpeg.compress( large_image, tiny_image, arguments: '-quality 70 -quant-table 2 -notrellis' ) |
中身はcjpeg(非可逆の方)ですね。
ま、jpegtran(可逆の方)はqualityの指定ができないので当然と言えば当然ですが。
細かいオプションはそのうち調べてみようかなと思います。
参考
svoboda-jan/mozjpeg-ruby: JPEG and PNG compression using MozJPEG