ngx_http_image_filter_module モジュール
設定例 ディレクティブ image_filter image_filter_buffer image_filter_interlace image_filter_jpeg_quality image_filter_sharpen image_filter_transparency image_filter_webp_quality |
ngx_http_image_filter_module
モジュール(0.7.54+) は JPEG, GIF, PNG および WebP フォーマットの画像を変形するフィルタです。
このモジュールはデフォルトではビルドされず、--with-http_image_filter_module
configureパラメータを有効にする必要があります。
このモジュールは libgd ライブラリを利用します。利用可能な最新のライブラリを使うことをお勧めします。
WebP フォーマットはバージョン 1.11.6 から導入されました。画像をこのフォーマットに変換するには、libgd
ライブラリがWebPサポートでコンパイルされなければなりません。
設定例
location /img/ { proxy_pass http://backend; image_filter resize 150 100; image_filter rotate 90; error_page 415 = /empty; } location = /empty { empty_gif; }
ディレクティブ
構文: |
image_filter image_filter image_filter image_filter
image_filter
image_filter
|
---|---|
デフォルト: |
image_filter off; |
コンテキスト: |
場所 |
画像に行う変形の種類を設定します:
off
- 取り囲んでいるlocation内でモジュールの処理を止めます。
テスト
- 応答がJPEG, GIF, PNG または WebP フォーマットの画像であることを保証します。そうでなければ、415 (Unsupported Media Type)エラーが返されます。
size
-
画像の情報をJSON形式で出力します。例えば:
エラーの場合には、出力は次のようになります:{ "img" : { "width": 100, "height": 100, "type": "gif" } }
{}
rotate
90
|180
|270
-
画像を指定した角度の時計回りに回転します。パラメータの値には変数を含めることができます。このモードは単独でも
resize
とcrop
変形と一緒でも使うことができます。 resize
width
height
-
指定されたサイズに画像を比例的に縮小します。一つの次元だけ縮小するには、もう片方の次元を"
-
"で指定します。エラーの場合には、サーバはコード415 (Unsupported Media Type)を返すでしょう。パラメータの値には変数を含めることができます。rotate
パラメータと一緒に使う場合は、 縮小のafterに 回転が行われます。 crop
width
height
-
イメージの大きな側のサイズが比例的に縮小され、もう片方の側の外側の縁が刈り取られます。一つの次元だけ縮小するには、もう片方の次元を"
-
"で指定します。エラーの場合には、サーバはコード415 (Unsupported Media Type)を返すでしょう。パラメータの値には変数を含めることができます。rotate
パラメータと一緒に使われた場合は、縮小のbeforeに回転が行われます。
構文: |
image_filter_buffer |
---|---|
デフォルト: |
image_filter_buffer 1M; |
コンテキスト: |
http , server , location |
画像の読み込みに使われるバッファの最大サイズを設定します。サイズを超えた場合には、サーバはエラー415 (Unsupported Media Type)を返します。
構文: |
image_filter_interlace |
---|---|
デフォルト: |
image_filter_interlace off; |
コンテキスト: |
http , server , location |
このディレクティブはバージョン1.3.15から導入されました。
有効にされると、最終的な画像はインタレースされます。JPEGの場合、最終的な画像は"progressive JPEG"フォーマットになるでしょう。
構文: |
image_filter_jpeg_quality |
---|---|
デフォルト: |
image_filter_jpeg_quality 75; |
コンテキスト: |
http , server , location |
変形されたJPEG画像の望ましいquality
を設定します。可能な値は1から100の範囲です。小さな値は通常低品質の画像と少ないデータ転送の両方を意味します。推奨される最大の値は95です。パラメータの値には変数を含めることができます。
構文: |
image_filter_sharpen |
---|---|
デフォルト: |
image_filter_sharpen 0; |
コンテキスト: |
http , server , location |
最終的な画像の鮮明さを増加します。鮮明度は100を超えることができます。0の値は鮮明化を無効にします。パラメータの値には変数を含めることができます。
構文: |
image_filter_transparency |
---|---|
デフォルト: |
image_filter_transparency on; |
コンテキスト: |
http , server , location |
GIF画像またはPNG画像のパレットで指定された色の透明化をする時に透明度を保持するかどうかを定義します。透明化を無くすことは画像の質の向上に繋がります。PNGのアルファチャンネルの透明化は常に保持されます。
構文: |
image_filter_webp_quality |
---|---|
デフォルト: |
image_filter_webp_quality 80; |
コンテキスト: |
http , server , location |
このディレクティブはバージョン 1.11.6 から導入されました。
変形されたWebP画像の望ましいquality
を設定します。可能な値は1から100の範囲です。小さな値は通常低品質の画像と少ないデータ転送の両方を意味します。パラメータの値には変数を含めることができます。