日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Nginx >内容正文

Nginx

Nginx的 http_image_filter_module 模块使用说明

發布時間:2023/12/15 Nginx 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nginx的 http_image_filter_module 模块使用说明 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Nginx圖片處理原理

這里需要用到 nginx的 http_image_filter_module 模塊,這個模塊可以很方便的實現圖片縮放功能,只是默認的情況下并不會安裝,需要自己編譯安裝才能行。編譯的時候./configure 增加 –with-http_image_filter_module 編譯安裝即可

Nginx圖片處理的優缺點

優點

  • 操作簡單。通過簡單配置,省去了后端裁剪程序的復雜性。
  • 實時裁剪。可以實時訪問在線裁剪圖片。
  • 靈活性強。后端程序裁剪圖片時需要知道裁剪圖片的尺寸和質量,使用nginx裁剪可以實時裁剪任意尺寸的圖片。
  • 不占用硬盤空間。
  • 缺點

  • 消耗CPU和內存,訪問量大的時候就會給服務器帶來很大的負擔。(可以通過使用Nginx緩存和緩存服務器來解決)

  • 功能不是很強大,支持的處理圖片類型只包括JPEG, GIF, PNG, or WebP

  • Nginx圖片處理模塊指令使用

    image_filter (重要)

    設置要在圖像上執行的轉換類型

    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

    test

    確保響應圖片是JPEG、GIF,WEBP或PNG格式,否則返回415錯誤碼。

    size

    outputs information about images in a JSON format, e.g.:{ "img" : { "width": 100, "height": 100, "type": "gif" } }In case of an error, the output is as follows:{}

    以 json 格式返回原圖的尺寸和類型

    rotate

    逆時針旋轉指定角度,只能指定這三個角度。參數值可以包含變量,這個模式可以單獨使用也可以和resize、crop變換同時使用。

    resize width height

    按比例對圖像進行縮放,可以只指定一個尺寸,另一個尺寸用“-”。如果遇到錯誤,服務器返回415錯誤碼。參數值可以包含變量。當與rotate參數一同使用時,旋轉操作發生在縮放之后。圖片會以長的一邊為標準,然后等比縮放。

    crop width height

    按比例裁剪圖片,可以只指定一個尺寸,另一個尺寸用“-”。如果遇到錯誤,服務器返回415錯誤碼。參數值可以包含變量。當與rotate參數一同使用時,旋轉操作發生在裁剪之前。圖片會以長的一邊為標準,然后等比縮放,然后裁剪掉多余的部分。

    image_filter_buffer

    設置用于讀取圖像的緩沖區的最大大小

    Syntax:image_filter_buffer size;
    Default:image_filter_buffer 1M;
    Context:http, server, location

    設置讀取圖片的最大緩沖區大小。當超過緩沖區大小時,返回 error 415 (Unsupported Media Type).

    image_filter_interlace

    如果啟用,最終圖像將隔行掃描

    Syntax:image_filter_interlace on / off;
    Default:image_filter_interlace off;
    Context:http, server, location

    如果開啟此功能,最終的圖像是交錯的。對于JPEG,最終圖片是“漸進式JPEG”格式。圖片一般是線性加載,設置后則變為交替加載圖片。漸進式jpeg效果參見:http://www.zhangxinxu.com/wordpress/2013/01/progressive-jpeg-image-and-so-on/

    image_filter_jpeg_quality

    設置轉換JPEG圖像的質量

    Syntax:image_filter_jpeg_quality quality;
    Default:image_filter_jpeg_quality 75;
    Context:http, server, location

    設置轉為JPEG圖像的質量。接受的值從1到100。較小的值意味著低質的圖片質量和更少的數據傳輸量。最大建議的值是95。參數可以包含變量。

    image_filter_sharpen

    通過設置銳化度,增加最終圖像的清晰度。

    Syntax:image_filter_sharpen percent;
    Default:image_filter_sharpen 0;
    Context:http, server, location

    增加最終圖片的銳度。這個百分比可以超過100。0值禁用此功能。參數可以包含變量。

    image_filter_transparency

    定義是否透明度時應保留轉換GIF圖像或PNG圖像的調色板中指定的顏色。

    Syntax:image_filter_transparency on/off;
    Default:image_filter_transparency on;
    Context:http, server, location

    決定在轉換GIF或PNG圖片帶有調色板定義的顏色時,透明是否會保留。丟失透明度可以是圖片得到更好的質量。PNG的Alpha通道的透明總是會保留。

    image_filter_webp_quality

    設置轉化WebP圖像所需的質量

    Syntax:image_filter_webp_quality quality;
    Default:image_filter_webp_quality 80;
    Context:http, server, location

    設置轉為webp圖像的質量。

    This directive appeared in version 1.11.6.

    局限性

  • Nginx 的圖片處理模塊,暫時沒有看到官方發布的能夠給圖片加水印功能的模塊,在github上看到有人寫了些這樣的擴展功能,參見 https://github.com/3078825/ngx_image_thumb

  • Nginx 的實時性和訪問的方便性上,GraphicsMagick 是無法比擬的,但是 GraphicsMagick 對圖片的處理的功能要比nginx強大很多,比如nginx不能將圖片旋轉任意角度,不能在圖片上加水印,處理圖片類型有限等,相對nginx,GraphicsMagick 更適合對圖片的異步處理。

  • 參考文獻

    Module ngx_http_image_filter_module

    總結

    以上是生活随笔為你收集整理的Nginx的 http_image_filter_module 模块使用说明的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。