今天就跟大家聊聊有關(guān)利用PHP在對圖片背景進(jìn)行處理,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
專注于為中小企業(yè)提供網(wǎng)站設(shè)計制作、做網(wǎng)站服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)惠來免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上1000+企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。使用imagecreate()和imageCreateTrueColor()兩個函數(shù)去創(chuàng)建畫布資源。但如果需要對自己已有的圖片進(jìn)行處理,只要將這個圖片作為畫布資源即可,也就是我們所說的創(chuàng)建圖片背景??梢酝ㄟ^下面介紹的幾個函數(shù),打開服務(wù)器或網(wǎng)絡(luò)文件中已經(jīng)存在的GIF、JPEG和PNG圖像,返回一個圖像標(biāo)識符,代表了從給定的文件名取得的圖像作為操作的背景資源。它們的原型如下所示,它們在失敗時都會返回一個空字符串,并且輸出一條錯誤信息。
代碼如下:
resource imagecreatefromjpeg(string $filename) //從JPEG文件或URL新建一圖像 resource imagecreatefrompng(string $filename) //從PNG文件或URL新建一圖像 resource imagecreatefromgif(string $filename) //從GIF文件或URL新建一圖像
不管使用哪個函數(shù)創(chuàng)建的圖像資源,用完以后都需要使用imagedestroy()函數(shù)進(jìn)行銷毀。再有就是圖片格式對應(yīng)的問題,任何一種方式打開的圖片資源都可以保存為同一種格式。例如,對于使用imagecreatefromjpeg()函數(shù)創(chuàng)建的圖片資源,可以使用imagepng()函數(shù)以PNG格式將圖像輸出到瀏覽器或文件。當(dāng)然好是打開的是哪種格式的圖片,就保存成對應(yīng)的圖片格式。如果要做到這一點,我們還需要先認(rèn)識一下getimagesize()函數(shù),通過圖片名稱就可以獲取圖片的類型、寬度和高度等。該函數(shù)的原型如下所示:
代碼如下:
array getimagesize(string filename[,array &imageinfo]) //獲取圖片的大小和類型
如果不能訪問filename指定的圖像或者其不是有效圖像,該函數(shù)將返回FALSE并產(chǎn)生一條E_WARNING級的錯誤。如果不出錯,getimagesize()返回一個具有四個單元的數(shù)組,索引0包含圖像寬度的像素值,索引1包含圖像高度的索引值,索引2是圖像類型的標(biāo)記:1=GIF,2=JPG,3=PNG,4=SWF等,索引3是文本字符串,內(nèi)容為“height=”yyy” width=”xxx””,可以直接用于<IMG>標(biāo)記。如下所示:
<?php list($width,$height,$type,$attr) = getimagesize("image/brophp.jpg");echo "<img src='image/brophp.jpg'".$attr.">";?>
下面的例子聲明一個image()函數(shù),可以打開GIF、JPG和PNG中任意格式的圖片,并在圖片的中間加上一個字符串后,保存成原來的格式(文字水?。?。在以后的開發(fā)中,如果需要同樣的操作(打開的是哪種格式的圖片,也保存成對應(yīng)格式的文件),可以參與本例的模式,代碼如下所示:
<?php //向不同格式的圖片中間畫一個字符串(也是文字水?。? function image($filename,$string){ //獲取圖片的屬性,第一個寬度,第二個高度,類型1=>gif,2=>jpeg,3=>png list($width,$height,$type) = getimagesize($filename); //可以處理的圖片類型 $types = array(1=>"gif",2=>"jpeg",3=>"png",); //通過圖片類型去組合,可以創(chuàng)建對應(yīng)圖片格式的,創(chuàng)建圖片資源的GD庫函數(shù) $createfrom = "imagecreatefrom".$types[$type]; //通過“變量函數(shù)”去打?qū)?yīng)的函數(shù)去創(chuàng)建圖片的資源 $image = $createfrom($filename); //設(shè)置居中字體的X軸坐標(biāo)位置 $x = ($width-imagefontwidth(5)*strlen($string))/2; //設(shè)置居中字體的Y軸坐標(biāo)位置 $y = ($height-imagefontheight(5))/2; //設(shè)置字體的顏色為紅色 $textcolor = imagecolorallocate($image, 255, 0, 0); //向圖片畫一個指定的字符串 imagestring($image, 5, $x, $y, $string, $textcolor); //通過圖片類型去組合保存對應(yīng)格式的圖片函數(shù) $output = "image".$types[$type]; //通過變量函數(shù)去保存對應(yīng)格式的圖片 $output($image,$filename); imagedestroy($image); } image("brophp.gif","GIF"); image("brophp.jpg", "JPEG"); image("brophp.png", "PNG"); ?>
看完上述內(nèi)容,你們對利用PHP在對圖片背景進(jìn)行處理有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
文章標(biāo)題:利用PHP在對圖片背景進(jìn)行處理-創(chuàng)新互聯(lián)
分享地址:http://jinyejixie.com/article10/dipedo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站導(dǎo)航、用戶體驗、小程序開發(fā)、標(biāo)簽優(yōu)化、微信公眾號、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容