php有一款插件叫做imagemagick,功能很強(qiáng)大,提供了圖片的很多操作,圖片剪切、壓縮、合并、插入文本、背景色透明等。并且有api方法調(diào)用和命令行操作兩種方式,如果只是簡(jiǎn)單處理的話建議api方法調(diào)用,如果是很復(fù)雜的操作建議服務(wù)器端搭shell命令行操作,因?yàn)閍pi方法調(diào)用同操作對(duì)比命令行他更吃內(nèi)存,并且效率沒有命令行那么高。
本文章就對(duì)于這些常見操作進(jìn)行介紹說明
首先要提一聲的時(shí)候每次通過imageMagic處理圖片都會(huì)new一個(gè)對(duì)象出來(lái),當(dāng)圖片處理好之后最好是把這個(gè)對(duì)象給銷毀,它會(huì)占用cpu和內(nèi)存,如果你不在乎這些小細(xì)節(jié)的話就當(dāng)做我沒有說,接下來(lái)進(jìn)入正題。
圖片寬高壓縮:通過調(diào)用api中的 thumbnailImage 方法,可以實(shí)現(xiàn)圖片寬高設(shè)置,這個(gè)操作不會(huì)影響圖片的質(zhì)量,是同大小壓縮。
代碼如下
= \Imagick( '圖片路徑' ->thumbnailImage( '圖片高','圖片寬' ("Content-Type: image/{->getImageFormat()}" ;