現在公司有個項目是讓使用者上傳圖片,然後查看圖片的,有些類似百度雲吧。然後有個需求要查看圖片時先看縮圖,點擊原圖才能看原圖,我看到微博都有這個功能,我想知道他們這個功能是怎麼做到的,是上傳的時候直接壓縮了幾個版本的圖片,還是前端載入的時候才臨時壓縮的?
我比較想要一個靜態伺服器在輸出圖片的時候自動壓縮圖片,就像下面文章裡提到的七牛做到的那樣,功能沒有七牛的強也行,只要簡單的按圖片比例壓縮圖片就行,但壓縮得要好,我用過一些壓縮,壓出來的圖片銳度特別高,鋸齒挺嚴重。
看了這篇文章Web效能最佳化:圖片最佳化,覺得還是有協助的,他提到的Google PageSpeed,可以部署到Apache伺服器上,擷取圖片的時候會自動壓縮,似乎挺適合。但是我搜了一下,發現這個只是檢測伺服器效能的工具而已,不是用來壓縮圖片的?
回複內容:
現在公司有個項目是讓使用者上傳圖片,然後查看圖片的,有些類似百度雲吧。然後有個需求要查看圖片時先看縮圖,點擊原圖才能看原圖,我看到微博都有這個功能,我想知道他們這個功能是怎麼做到的,是上傳的時候直接壓縮了幾個版本的圖片,還是前端載入的時候才臨時壓縮的?
我比較想要一個靜態伺服器在輸出圖片的時候自動壓縮圖片,就像下面文章裡提到的七牛做到的那樣,功能沒有七牛的強也行,只要簡單的按圖片比例壓縮圖片就行,但壓縮得要好,我用過一些壓縮,壓出來的圖片銳度特別高,鋸齒挺嚴重。
看了這篇文章Web效能最佳化:圖片最佳化,覺得還是有協助的,他提到的Google PageSpeed,可以部署到Apache伺服器上,擷取圖片的時候會自動壓縮,似乎挺適合。但是我搜了一下,發現這個只是檢測伺服器效能的工具而已,不是用來壓縮圖片的?
大量圖片是上傳的時候直接壓縮了幾個版本(通過隊列任務壓縮,防止佔用過多資源)
壓縮的實現方案就很多啦,github一堆
靜態檔案就不要走PHP了,走nginx
關於圖片裁剪,nginx有外掛程式可以做c語音的外掛程式,速度絕對杠杠的,比PHP快得多了
你可以用php動態產生縮圖 只有訪問的時候產生一次 之後走靜態檔案 這個nginx可以配置的
至於映像品質 在php的生態圈主要靠擴充 gd imagick 後者一般說品質相對好些 關於銳度問題應該是調用庫的參數不合理 建議靜下心來多試試看
是否可以在上傳的時候,直接程式壓縮一下,儲存一張縮圖,展現的時候直接調用縮圖,滑鼠點擊的時候直接放出大圖片的地址,就能解決問題了。不用儲存資料庫按照一定規則儲存到本地,擷取的時候組裝即可。
很想和你認識下 QQ : 810978593