Blog Detail

EWWW Image Optimizerプラグインのインストール画面

画像はおまかせEWWW Image Optimizer ~WordPressプラグイン導入~

2016年10月11日
Linux, ウェブ開発
,
No Comments

画像ファイルの扱いを便利にしようとプラグインを探していましたが、どうやら求めていた物が見付かったようです。
EWWW Image Optimizer」という画像最適化プラグインです。EWWW Image Optimizerプラグインのインストール画面

おおむね画像の取り扱いについて、やりたい事がこれ一つで出来てしまいそうです。

  • 画質劣化の少ない画像処理
  • アップロード時の自動リサイズ処理
  • コメント、Exif情報などのメタ情報の削除
  • 画像の最適化(Optimize)処理?

設定画面の様子です。「Lossless」の文字が見えます。\(^o^)/EWWW Image OptimizerプラグインBasic設定画面EWWW Image OptimizerプラグインAdvanced設定画面EWWW Image Optimizerプラグインconversion設定画面

さらに、すでにアップロードされている画像についても、これらの処理を実行する事が可能になっています。EWWW Image OptimizerプラグインUnoptimized画面
かなり親切設計だと思います。


画質が気になるので、内部で何をやっているのか調べてみました。
以下jpegファイルを扱う場合です。

画像のアップロード時のリサイズ処理や「Optimize」処理を行う際、外部コマンドを実行している様です。
下は「Optimize」を実行した際のプロセスの様子。

jpegtranコマンドがhttpd(Apache)から起動されているのが解ります。

コマンドの実行ファイルはプラグインのディレクトリ内にあり、プラグインに同梱されていたものと思います。

これは何者でしょうか?

しっかりIntelのバイナリ実行ファイルでした。32bitの実行ファイル、しっかり静的リンクされています。ストリップはしなかったのね…

EWWW Image Optimizerが言う「Optimize」とは、jpegtranコマンドで-optimize -progressiveオプションを付けて生成したファイル、という事の様です。
「メタ情報(コメントやExif)の削除」の項目にチェックを付けておくと、-copy all から -copy none にオプションを変える様です。これでメタ情報を削除している様です。

jpegtranコマンドはlibjpeg(C言語のjepgイメージを扱うライブラリ)の機能をコマンドラインから扱えるようにしたものです。
多くのLinuxディストリビューションで標準的にインストールされ、利用する事が出来ます。CentOS7でもインストールされています。

CentOS7標準の物との違いを調べてみました。

EWWW Image Optimizer付属のjpegtran

CentOS7付属のjpegtran

EWWW Image Optimizer付属の物はIndependent JPEG Groupが開発するオリジナルのlibjpeg。
CentOS7付属の方はlibjpeg-turboというlibjpegとAPIレベルで互換性を保ちながら、画像処理をCPUの拡張命令を使って高速に処理出来る様にした派生バージョンの様です。
※開発者に日本人の名前も見えますね。なんか嬉しい。

画質的にはどちらが有利なのか解りませんが、オリジナルのlibjpegは今年出たばかりの最新版をしっかり使っている様です。好印象です。

ここまでjpegファイルの場合で見てみましたが、gifやpngファイル用だと思われる他のコマンドも含まれていました。

gifファイル用にgifsicleコマンド、pngファイル用にoptipngコマンドを用いる様です。


こんな感じで中で何をやっているのか見てきましたが、GUIの使い勝手もなかなか良いです。
欲しくなる機能は大抵揃っているんじゃないでしょうか。

とても良いプラグインだと思います。
以降はこのプラグインを使っていこうと思います。

Leave A Comment