php中10個不同等級壓縮最佳化圖片操作樣本_php技巧

來源:互聯網
上載者:User

本文執行個體分析了php中10個不同等級壓縮最佳化圖片操作。分享給大家供大家參考,具體如下:

今天找到一個php寫的壓縮圖片程式,可以分10個等級(0-9)來壓縮,0等級時壓縮比率不是很大,圖片不會失真;隨著壓縮等級不斷增大,圖片會變得越來越不清晰,通常壓縮後圖片大小可以減少到原來的50%,壓縮比還是挺大的。

如下是php壓縮圖片程式

<?phpHeader("Content-type: image/PNG");/*告訴IE瀏覽器你做的程式是張圖片*/$image = @imagecreatefrompng ("banner.png"); imagepng ($image,null,0); /*壓縮等級0-9,壓縮後9最小,1最大*/imagedestroy ($image);?>

原圖體積是125k,現在我想看看在不同的等級壓縮下會得到什麼樣的結果。如下為測試記錄。

imagepng($img,null,0); --> Size = 225K
imagepng($img,null,1); --> Size = 85.9K
imagepng($img,null,2); --> Size = 83.7K
imagepng($img,null,3); --> Size = 80.9K
imagepng($img,null,4); --> Size = 74.6K
imagepng($img,null,5); --> Size = 73.8K
imagepng($img,null,6); --> Size = 73K
imagepng($img,null,7); --> Size = 72.4K
imagepng($img,null,8); --> Size = 71K
imagepng($img,null,9); --> Size = 70.6K

我不明白的是為什麼壓縮等級為0時,它的體積反而變大了?

我們在最佳化的時候,一般採用2等級比較合適,圖片沒有失真,但體積減少了30%,達到最佳化的目的了。如果採用6、7、8、9等級壓縮的話,圖片有所失真,所以不宜採用這些等級進行壓縮最佳化圖片。

我們看看老外是怎麼解釋這個現象的:

The result seems accurate since 0 means no compression

quality Compression level: from 0 (no compression) to 9.

It's normal for the 0ed file to be larger than the original (that can be slightly compressed to begin with). You need to understand file compression and PHP GD image constructor.

老外的解釋有沒有道理呢?他認為原始圖片其實是經過了輕微的壓縮,而0等級的壓縮就是一點壓縮都沒有,所以它的體積會大於原始圖片。我感覺此話不無道理。

更多關於PHP相關內容感興趣的讀者可查看本站專題:《PHP圖形與圖片操作技巧匯總》、《php檔案操作總結》、《PHP數組(Array)操作技巧大全》、《PHP基本文法入門教程》、《PHP運算與運算子用法總結》、《php物件導向程式設計入門教程》、《PHP網路編程技巧總結》、《php字串(string)用法總結》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》

希望本文所述對大家PHP程式設計有所協助。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.