麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > PHP > 正文

PHP:ImageMagick完美代替GB類庫處理圖像

2020-03-22 20:04:20
字體:
來源:轉載
供稿:網友
  • 在使用php開發之中大家都習慣使用gb類庫來處理圖像信息,但是函數很多的gb類庫也是很頭疼,使用起來要一個個的查詢函數和看官方手冊,下面將介紹一個很強大的圖像處理工具—-ImageMagick,這個在liunx下面處理圖像信息將會更簡潔。

    先看一下百度百科的介紹: ImageMagick是一套功能強大、穩定而且免費的工具集和開發包,可以用來讀、寫和處理超過89種基本格式的圖片文件,包括流行的TIFF、JPEG、GIF、 PNG、PDF以及PhotoCD等格式。利用ImageMagick,你可以根據webhtml' target='_blank'>應用程序的需要動態生成圖片, 還可以對一個(或一組)圖片進行改變大小、旋轉、銳化、減色或增加特效等操作,并將操作的結果以相同格式或其它格式保存。對圖片的操作,即可以通過命令行進行,也可以用C/C++、Perl、Java、PHP、Python或Ruby編程來完成。同時ImageMagick提供了一個高質量的2D工具包,部分支持SVG。現在,ImageMagic的主要精力集中在性能、減少bug以及提供穩定的API和ABI上。
    功能

    1. 將圖片從一個格式轉換到另一個格式,包括直接轉換成圖標。

    2. 改變尺寸、旋轉、銳化(sharpen)、減色、圖片特效 

    3. 縮略圖片的合成圖( a montage of image thumbnails) 

    4. 適于web的背景透明的圖片  

    5. 將一組圖片作成gif動畫,直接convert將幾張圖片作成一張組合圖片,montage    在一個圖片上寫字或畫圖形,帶文字陰影和邊框渲染。   8. 給圖片加邊框或框架   9. 取得一些圖片的特性信息   10,幾乎包括了gimp可以作到的常規插件功能。甚至包括各種曲線參數的渲染功能。只是那命令的寫法,夠復雜。  ImageMagick幾乎可以在任何非專有的操作系統上編譯,無論是32位還是64位的CPU,包括LINUX,Windows ’95/’98/ME/NT 4.0/2000/XP, Macintosh (MacOS 9 /10), VMS 和 OS/2.

    安裝: ImageMagick提供多個版本 liunx, mac, win 都可以使用 具體的安裝和下載可以查考網址:http://www.imagemagick.org/script/index.php

    下面是對其比較常用的功能介紹:
    1.對用戶上傳圖片進行縮放 對于用戶自己上傳的圖片不能簡單的 用css限制大小,因為這樣每次加載圖片時候還是會加載整幅大圖。占用多余的寬帶,并且影響頁面加載速度。應該根據實際顯示需要進行縮放。比如我想要用戶相冊里的圖片大小不能超過500×300: 用ImageMagick處理起來很簡單 Im代碼

    convert-resize”500×300>”input.jpgoutput.jpg#如果圖片比500×300小就保持原樣,以防小圖片被放大失真。
    convert -resize "500x300>" input.jpg output.jpg #如果圖片比500x300小就保持原樣,以防小圖片被放大失真。

    2.生成不同比例縮略圖 一般相冊等應用,都會提供縮略圖和預覽圖,這些縮略圖同樣不能簡單的用css來限制大小,要為每個圖片生成不同比例的預覽圖。

    3.去除多余信息 Exif信息是數碼相機在拍攝過程中采集的一系列信息,這些信息放置在我們熟知的jpg文件的頭部,也就是說Exif信息是鑲嵌在JPEG圖像文件格式內的一組拍攝參數,主要包括攝影時的光圈、快門、ISO、日期時間等各種與當時攝影條件相關的訊息,相機品牌型號,色彩編碼,拍攝時錄制的聲音以及全球定位系統(GPS)等信息。簡單的說,它就好像是傻瓜相機的日期打印功能一樣,只不過Exif信息所記錄的資訊更為詳盡和完備。不過,具有Exif信息的JPEG圖像文件要比普通的JPEG文件略大一點。還有就是像PS這種軟件處理過的圖片會有“program comments”。如果不是專業的攝影類網站,這些信息是沒有用的,可以去掉: Im代碼

    convert-stripinput.jpgoutput.jpg
    convert -strip input.jpg output.jpg

    4.調節壓縮比 大多時候,我們的網站并不需要那么清晰的圖片,適量調節JPG圖片的壓縮比會減少圖片大小,肉眼并不會分辨出質量被壓縮后的圖片。通常75%是最佳比例。 Im代碼

    convert-quality75%input.jpgoutput.jpg
    convert -quality 75% input.jpg output.jpg

    上面幾個步驟可以一次搞定: Im代碼

    convert-resize”500×300″-strip-quality75%input.jpgoutput.jpg
    convert -resize "500x300" -strip -quality 75% input.jpg output.jpg

    上面說的都是針對JPG格式的處理方式,下面說一下BMP,GIF,PNG等格式的處理。 對于BMP直接轉成JPG就可以了。再按照上面的方式處理。 而GIF和PNG貌似有些特殊。GIF的一些特性(動畫效果,透明等)是JPG沒有的,可以根據實際情況選擇轉或不轉,如果轉換成jpg,取第一幀只需要這樣: Im代碼

    convert-formatjpginput.gifinput.jpg
    convert -format jpg input.gif input.jpg

    PNG也可以通過減少PNG圖片color數量的辦法達到壓縮的目的。但是這種辦法壓縮出來的圖像可以明顯看出來失真,而且呈鋸齒狀。 對于真實世界的PNG圖片(通常指照片),一般先轉換成JPG,再通過上面的辦法來壓縮。 但是要注意一點,透明或半透明的PNG圖片在轉換成JPG時透明部分會變成黑色。。。建議做用戶頭像時候不要轉成JPG。。很難看~~~ 本人頭像就是深受毒害。。 關于圖片擴展名 發現大部分網站喜歡把用戶上傳的圖片(頭像,相冊等)都統一轉成特定格式(一般都是jpg)。這樣做的潛在弊端就是在用像ImageMagick這樣的軟件處理的時候會根據擴展名做隱式格式轉換。 個人覺得在保存圖片的時候不加擴展名處理起來更靈活一些。

    注:把上面的命令行用mini_magick改寫用到rails里很容易的。mini_magick本質就調用系統命令行嘛~~


    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 久久久精品精品 | 国产亚洲激情 | 性看小视频 | 在线观看福利网站 | 国产影院在线观看 | 欧美 日韩 亚洲 中文 | 中文字幕免费一区 | 国产成人精品一区在线播放 | 午夜视频大全 | 中文字幕在线观看免费视频 | 超碰97在线人人 | 99国内精品视频 | 欧美一级片免费在线观看 | 刘亦菲一区二区三区免费看 | 一区二区三区视频在线播放 | 看免费一级毛片 | 国产日本在线播放 | 国产一国产精品一级毛片 | 精品一区二区三区免费毛片 | 欧美日韩高清不卡 | 蝌蚪久久窝 | 精品在线一区二区三区 | 另类亚洲孕妇分娩网址 | 欧美成人国产va精品日本一级 | 毛片在线免费视频 | 国产精品久久久久久久久久10秀 | 欧美成人精品一区二区三区 | 欧美另类综合 | 欧美三日本三级少妇三级99观看视频 | 免费国产自久久久久三四区久久 | 亚洲欧洲日产v特级毛片 | 久久久aa| 免费观看黄色一级视频 | 久久久成人999亚洲区美女 | 成人在线免费观看网址 | 女人叉开腿让男人桶 | 久久人人爽人人爽人人片av高请 | 久久亚洲精品国产 | 13一14毛片免费看 | 久久国产28 | 成人免费观看49www在线观看 |