使用java原生或者使用第三方的jar來生成。java
存在的問題:nginx
原生效率慢,而且和代碼耦合性過高,支持格式少,其餘沒太多嘗試lua
使用thumbnailator.jar 第三方。效率不高,壓縮完的圖片質量過低。支持格式少,若是本來圖片的後綴爲.jpg的改爲.png以後,沒法支持操做。.png的圖片保存時爲透明時候,壓縮出來的圖片會出現顏色嚴重失調的問題。和代碼的耦合性過高圖片
以上這兩個和代碼的耦合性過高,所以如何存在項目羣時,圖片的處理會變的和無力。效率
2.所以我推薦使用如下的解決方案:由nginx來處理。module
a.利用nginx自己的圖片生成策略,只支持JPEG、GIF、或PNG圖片(不支持BMP等其餘格式),出錯時返回415,須要導入ngx_http_image_filter_module模塊擴展
b.GraphicsMagick+im4java+nginx+lua+nginx_lua模塊 利用GraphicsMagick的優勢,處理圖片快速,質量高,動態與代碼解耦,支持格式多,操做類型多,基本無down機,擴展性高im