【WordPress】画質が劣化してたので設定を変更

WordPressの画像が劣化しないための設定

ブログにはWordPressを使っていて、僕は画像をよく使っていますが時々、写真が劣化しているのが気になっていました。

使っている写真は自分で撮影している物が多くて、カメラはNEX-5Tのミラーレス一眼を使っていてせっかくきれいに撮影できていた写真もWordPressにアップロードしたら劣化しているのが残念でした。

そこで、「WordPress」「画像」「劣化」のキーワードでググってみたら、原因がわかりました。

一番参考になったサイトはこちらです。

TECHMEMO

結論としてはWordPressでは画像をアップロードした時に90%に劣化するということでした。

その設定はdeprecated.phpのファイルに定義されていました。

function image_resize( $file, $max_w, $max_h, $crop = false, $suffix = null, $dest_path = null, $jpeg_quality = 90 )

この行の$jpeg_quality = 90の部分がそれで、jpegの画像は90%に画質が落ちるということです。

数字の90100にすれば画質は維持されます。

それから、僕も勘違いをしていたのですが、画像を表示するとき影響があるのではなく、写真などをWordpressにアップロードをした時に画質が落ちます

つまり一度アップロードした画像の画質は戻すことができません。

設定方法

# vim /data/www/zibunlog.com/wp-includes/deprecated.php
#( $jpeg_quality = 90 を  $jpeg_quality = 100 に変更して保存)
function image_resize( $file, $max_w, $max_h, $crop = false, $suffix = null, $dest_path = null, $jpeg_quality = 100 )

ただ、この方法だとWordPressをバージョンアップした時に設定が戻ってします。

変更されないためにも各テーマごとのfunction.phpに以下の行を追記します。

# vim /data/www/zibunlog.com/wp-content/themes/<テーマごとのパス>/function.php
add_filter('jpeg_quality', function($arg){return 100;});

動作を確認してみる

設定が0%の場合
14189785936751
0%の場合はほぼモザイク状態となります。

設定が10%の場合
14189785936751
10%の場合は少しましになりましたが、ざらざらした感じです。

設定が50%の場合
14189785936751
50%の場合はだいぶ状態が良くなりましたが、露出が少しくらいです。

設定が100%の場合
14189785936751
100%の場合はだいぶ状態が良くなりましたが、非常によくなりました。

設定が120%の場合
14189785936751
試しに120%の場合をしてみました。スマートフォンで見るとわかりませんが、パソコンで見ると縦横の幅が大きくなりました。
露出も100%と比較すると少し明るくなっていると思います。

さいごに

WordPressのデフォルトの設定で画質が劣化するとは意外でした。

写真の掲載などを目的としたWordPressのテーマなどはもしかしたらデフォルトでfunction.phpに100%を維持する設定が入っているのかもしれません。

WordPressを使っていて画質が気になっている人がもしいれば参考にしてもらえればと思います。