web-dev-qa-db-ja.com

Wordpressでの画像のサムネイル圧縮?

どこに曲がればいいのかわからない.

サムネイルをまったく圧縮しないようにしています。私のアップロードは素晴らしくカラフルですが、サムネイルは非常に目立たなく鈍くなり、品質が低下します。子テーマと親テーマのfunction.phpファイルにこのコードを既に追加しました。

add_filter(‘jpeg_quality’, function($arg){return 100;});
echo get_the_post_thumbnail($id, array(100,100) );
add_filter( ‘jpeg_quality’, create_function( ”, ‘return 100;’ ) );
add_filter( 'wp_editor_set_quality', 'wpse246186_image_quality' );
add_filter( 'jpeg_quality', 'wpse246186_image_quality' );
function wpse246186_image_quality( $quality ) {
    return 100; // 0 - 100% quality
}

「JPEG圧縮を無効にする」をインストールし、EWWWイメージオプティマイザーをインストールして、圧縮品質を100に上げました。「サムネイルの再生成」プラグインを使用して、サムネイルを再生成し続けます。しかし、まだ大きな違いがあります。どうすればいいかわかりません。ウェブを上下に検索しましたが、足りないものがあります。アップロードした画像がsRGBではなくAdobe 1998であるためですか?

良い画像の例を次に示します。 http://ninasveganrecipes.com/wp-content/uploads/2018/03/web-blackberry-icecream-4863.jpg

悪いように見えるサムネイル(つまらない!): http://ninasveganrecipes.com/wp-content/uploads/2018/03/web-blackberry-icecream-4863-108 ×1619。 jpg

私を助けてください!何を試すべきか、何を間違っているのか分かりません。私のwordpressサイトでPHP 5.6.30を実行しています。

ありがとうございました。 -ニーナ・マリー

1
Nina Marie

(これはコメントであるべきですが、私の評判は低すぎます)

jpeg_qualityを設定しても、処理は無効にならないため、圧縮は無効になりません。 JPEGは常に圧縮され、 ほとんどない ロスレス、100でさえない-「100%オリジナル品質」を意味しません。

ここで起こることは、WordPressのデフォルトの画像処理は、@ Bigue Niqueが言うように、カラープロファイルを尊重しないということです。
洞察を追加するには:WPは画像のカラープロファイルを無視し、ブラウザはそれらをプロファイルなし/ sRGBとして認識します。 彩度の損失は、AdobeRGBプロファイルが取り除かれた場合の典型的なアーチファクトです
写真の学生として、私は長年その間違いを犯していました(幸運なことに、私の写真は通常灰色でした;)。

AdobeRGBまたは他のカラープロファイルを撮影して使用することは依然として意味があります。単にsRGBに変換(重要:プロファイルに変換ではなく、プロファイルを適用])ワークフローの最後のステップで。その後、strip埋め込まれている可能性のあるsRGBプロファイルで、画像を作成できますnprofiled。外観に違いはありません。これが画像サイズオプティマイザーの保存方法です。数バイト。

プロファイルの変換を自動的に行うプラグインがあると確信していますが、Web(たとえば、プラグインを持っていないフォーラムや顧客)に公開するときは、カラープロファイルの問題に注意することをお勧めします。

@Nina Marie-回答(Bigue Nique's)を正しいものとしてマークしてください。

1
kubi

WordPressにアップロードする前に、必ず画像をsRGBに変換してください。

画像の圧縮は、画像の色やトーンに劇的な影響を与えるべきではありません。色、色相、彩度、またはコントラストの大幅な変化を目の当たりにすると、それは色空間の問題である可能性があります(質問者自身が指摘したように)。

1
Bigue Nique

プラグインをアンインストールし、これをfunctions.phpファイルに追加します

add_filter('jpeg_quality', function($arg){return 100;});
add_filter( 'wp_editor_set_quality', function($arg){return 100;} );

ただし、そのことに注意してください。パフォーマンスを向上させるために、アップロードする前に画像を圧縮する必要があります。

0
robwatson_dev