2011-12-19 141 views
3

我有很多jpeg圖像,我想爲web進行優化,但我需要一個可以實時處理傳入圖像的過程。換句話說,我不想使用像Smush.it這樣的服務,或將它們放到Photoshop中進行操作,但我確實想知道我可以在PHP中執行哪些操作。我更喜歡一個只需要php圖像處理功能的解決方案,但如果需要的話,它將提供重大改進,然後像jpegcrush這樣的命令行工具也可以使用。爲網絡優化圖像

我讀過,只是通過在PHP中的EXIF數據的圖像被剝離。在不影響實際質量的情況下,我還能做些什麼?當我使用'save for web'功能保存在photoshop中時,節省量顯着,沒有明顯的質量損失,所以我想知道是否有人確切地知道在那裏做了哪些操作。我注意到的另一件事是,來自YouTube的圖像通常比它們需要的區域明顯大得多,但它們的文件很小......有人知道那裏發生了什麼,或者這是一些祕密技術嗎?

如果它有什麼不同,我正在使用的圖像大多是320x320,我想讓它們成爲漸進式jpg。提前致謝。

+0

什麼是漸進式JPG? – hakre 2011-12-19 21:08:06

+0

你是說這個班? http://php.net/manual/en/book.image.php,只需使用http://php.net/manual/en/function.imagejpeg.php並設置質量,然後這個http:// www。 php.net/manual/en/function.imageinterlace.php進步。 – Matt 2011-12-19 21:10:11

回答

3

我會使用PHP GD庫創建與品質JPG格式設置爲約80:

imagejpeg (resource $image [, string $filename [, int $quality ]]) 

如果你想輸出漸進式JPEG,需要設置隔行使用imageinterlace()。

你是否在尋找比這更多的東西?

3

ImageMagick可以做你想做的一切。我覺得它作爲命令行工具最有用,但Google搜索'ImageMagick php'意味着也有一個ImageMagick PHP庫。

+1

有一個用於php的庫,但GD是默認的。我在PHP中使用了ImageMagick,它效果很好。 – Matt 2011-12-19 21:13:46