ngx_http_image_filter_module
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;
}
Directives
Syntax: image_filter off;
image_filter test;
image_filter size;
image_filter rotate 90 | 180 | 270;
image_filter resize width height;
image_filter crop width height;
Default: image_filter off;
Context: location
이미지에 실행할 변환 유형을 설정합니다.
off
주변 위치에서 모듈 처리를 비활성화합니다.
test
응답이 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
이미지를 지정된 크기까지 비례적으로 축소합니다. 1개 치수만 축소하려면 다른 치수는 “-“로 지정합니다 오류가 발생할 경우, 서버는 코드 415(Unsupported Media Type)를 반환합니다. 매개변수 값은 변수를 포함할 수 있습니다. rotate 매개변수와 함께 사용할 경우, 축소 후에 회전합니다.
crop width height
이미지 크기를 변의 크기를 키워서 축소하고, 관련이 없는 가장자리는 다른 변만큼 잘라냅니다. 1개 치수만 축소하려면 다른 치수는 “-“로 지정합니다 오류가 발생할 경우, 서버는 코드 415(Unsupported Media Type)를 반환합니다. 매개변수 값은 변수를 포함할 수 있습니다. rotate 매개변수와 함께 사용할 경우, 축소 전에 회전합니다.
Syntax: image_filter_buffer size;
Default: image_filter_buffer 1M;
Context: http, server, location
이미지를 읽는 데 사용하는 버퍼의 최대 크기를 설정합니다. 이 크기를 초과하면 서버가 415 오류(Unsupported Media Type)를 반환합니다.
Syntax: image_filter_interlace on | off;
Default: image_filter_interlace off;
Context: http, server, location
This directive appeared in version 1.3.15.
이를 활성화하면 최종 이미지가 인터레이스됩니다. JPEG의 경우, 최종 이미지는 “프로그레시브 JPEG” 형식이 됩니다.
Syntax: image_filter_jpeg_quality quality;
Default: image_filter_jpeg_quality 75;
Context: http, server, location
변환된 JPEG 이미지의 바람직한 quality를 설정합니다. 허용되는 값은 1~100 범위입니다. 일반적으로 값이 낮으면 이미지 화질이 낮고, 전송할 데이터도 줄어듭니다. 최대 권장 값은 95입니다. 매개변수 값은 변수를 포함할 수 있습니다.
Syntax: image_filter_sharpen percent;
Default: image_filter_sharpen 0;
Context: http, server, location
최종 이미지의 선명도를 높입니다. 선명도 비율은 100을 초과할 수 있습니다. 0 값은 선명하게 하는 작업을 비활성화합니다. 매개변수 값은 변수를 포함할 수 있습니다.
Syntax: image_filter_transparency on|off;
Default: image_filter_transparency on;
Context: http, server, location
팔레트에서 지정된 색상으로 GIF 이미지 또는 PNG 이미지를 변환할 때 투명도를 보존할지 저장합니다. 투명도를 낮추면 이미지 화질이 향상됩니다. PNG의 알파 채널 투명도는 항상 보존됩니다.
Syntax: image_filter_webp_quality quality;
Default: image_filter_webp_quality 80;
Context: http, server, location
This directive appeared in version 1.11.6.
변환된 WebP 이미지의 바람직한 quality를 설정합니다. 허용되는 값은 1~100 범위입니다. 일반적으로 값이 낮으면 이미지 화질이 낮고, 전송할 데이터도 줄어듭니다. 매개변수 값은 변수를 포함할 수 있습니다.