モジュール 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
設定パラメータを使用して有効にする必要があります。
このモジュールは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; |
コンテキスト |
location |
画像に対して実行する変換の種類を設定します。
off
- 上位のlocationにおけるモジュールの処理を無効にします。
test
- レスポンスがJPEG、GIF、PNG、またはWebP形式の画像であることを確認します。それ以外の場合は、415(サポートされていないメディアタイプ)エラーを返します。
size
- JSON形式で画像に関する情報を出力します。例:
エラーの場合、出力は次のようになります。{ "img" : { "width": 100, "height": 100, "type": "gif" } }
{}
rotate
90
|180
|270
- 指定された角度だけ画像を反時計回りに回転させます。パラメータ値には変数を指定できます。このモードは単独で使用することも、
resize
およびcrop
変換と併用することもできます。 resize
幅
高さ
- 画像を指定されたサイズに比例して縮小します。一方の寸法のみを縮小する場合は、もう一方の寸法に「
-
」を指定できます。エラーが発生した場合は、サーバーはコード415(サポートされていないメディアタイプ)を返します。パラメータ値には変数を指定できます。rotate
パラメータと併用した場合は、縮小の後で回転が行われます。 crop
幅
高さ
- 画像を長い方の辺のサイズに比例して縮小し、もう一方の辺の余分な部分を切り取ります。一方の寸法のみを縮小する場合は、もう一方の寸法に「
-
」を指定できます。エラーが発生した場合は、サーバーはコード415(サポートされていないメディアタイプ)を返します。パラメータ値には変数を指定できます。rotate
パラメータと併用した場合は、縮小の前に回転が行われます。
構文 |
image_filter_buffer |
---|---|
デフォルト |
image_filter_buffer 1M; |
コンテキスト |
http 、server 、location |
画像の読み取りに使用されるバッファの最大サイズを設定します。サイズを超えた場合、サーバーはエラー415(サポートされていないメディアタイプ)を返します。
構文 |
image_filter_interlace |
---|---|
デフォルト |
image_filter_interlace off; |
コンテキスト |
http 、server 、location |
このディレクティブはバージョン1.3.15で追加されました。
有効にすると、最終的な画像はインターレースされます。JPEGの場合、最終的な画像は「プログレッシブJPEG」形式になります。
構文 |
image_filter_jpeg_quality |
---|---|
デフォルト |
image_filter_jpeg_quality 75; |
コンテキスト |
http 、server 、location |
変換されたJPEG画像の目的の品質
を設定します。許容値は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画像の目的の品質
を設定します。許容値は1〜100の範囲です。値が小さいほど、通常は画質が低くなり、転送するデータ量が少なくなります。パラメータ値には変数を指定できます。