欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP圖片處理之圖片背景、畫布操作

 更新時(shí)間:2014年11月19日 10:01:59   投稿:junjie  
這篇文章主要介紹了PHP圖片處理之圖片背景、畫布操作,本文先是講解了PHP中創(chuàng)建圖片的幾個(gè)函數(shù),然后給出了一個(gè)給圖片添加文字水印的例子,需要的朋友可以參考下

像驗(yàn)證碼或根據(jù)動(dòng)態(tài)數(shù)據(jù)生成統(tǒng)計(jì)圖標(biāo),以及前面介紹的一些GD庫操作等都屬于動(dòng)態(tài)繪制圖像。而在web開發(fā)中,也會(huì)經(jīng)常去處理服務(wù)器中已存在的圖片。例如,根據(jù)一些需求對(duì)圖片進(jìn)行縮放、加水印、裁剪、翻轉(zhuǎn)和旋轉(zhuǎn)等改圖的操作。在web應(yīng)用中,經(jīng)常使用的圖片格式有GIF、JPEG和PNG中的一種或幾種,當(dāng)然GD庫也可以處理其他格式的圖片,但都很少用到。所以安裝GD庫時(shí),至少安裝GIF、JPEG或PNG三種格式中的一種。

  在前面介紹的畫布管理中,使用imagecreate()和imageCreateTrueColor()兩個(gè)函數(shù)去創(chuàng)建畫布資源。但如果需要對(duì)自己已有的圖片進(jìn)行處理,只要將這個(gè)圖片作為畫布資源即可,也就是我們所說的創(chuàng)建圖片背景。可以通過下面介紹的幾個(gè)函數(shù),打開服務(wù)器或網(wǎng)絡(luò)文件中已經(jīng)存在的GIF、JPEG和PNG圖像,返回一個(gè)圖像標(biāo)識(shí)符,代表了從給定的文件名取得的圖像作為操作的背景資源。它們的原型如下所示,它們?cè)谑r(shí)都會(huì)返回一個(gè)空字符串,并且輸出一條錯(cuò)誤信息。

復(fù)制代碼 代碼如下:

  resource  imagecreatefromjpeg(string $filename)           //從JPEG文件或URL新建一圖像
  resource  imagecreatefrompng(string $filename)             //從PNG文件或URL新建一圖像
  resource  imagecreatefromgif(string $filename)            //從GIF文件或URL新建一圖像

  不管使用哪個(gè)函數(shù)創(chuàng)建的圖像資源,用完以后都需要使用imagedestroy()函數(shù)進(jìn)行銷毀。再有就是圖片格式對(duì)應(yīng)的問題,任何一種方式打開的圖片資源都可以保存為同一種格式。例如,對(duì)于使用imagecreatefromjpeg()函數(shù)創(chuàng)建的圖片資源,可以使用imagepng()函數(shù)以PNG格式將圖像輸出到瀏覽器或文件。當(dāng)然最好是打開的是哪種格式的圖片,就保存成對(duì)應(yīng)的圖片格式。如果要做到這一點(diǎn),我們還需要先認(rèn)識(shí)一下getimagesize()函數(shù),通過圖片名稱就可以獲取圖片的類型、寬度和高度等。該函數(shù)的原型如下所示:

復(fù)制代碼 代碼如下:

  array  getimagesize(string filename[,array &imageinfo])             //獲取圖片的大小和類型

  如果不能訪問filename指定的圖像或者其不是有效圖像,該函數(shù)將返回FALSE并產(chǎn)生一條E_WARNING級(jí)的錯(cuò)誤。如果不出錯(cuò),getimagesize()返回一個(gè)具有四個(gè)單元的數(shù)組,索引0包含圖像寬度的像素值,索引1包含圖像高度的索引值,索引2是圖像類型的標(biāo)記:1=GIF,2=JPG,3=PNG,4=SWF等,索引3是文本字符串,內(nèi)容為“height=”yyy”  width=”xxx””,可以直接用于<IMG>標(biāo)記。如下所示:

復(fù)制代碼 代碼如下:

<?php
list($width,$height,$type,$attr) = getimagesize("image/brophp.jpg");
echo "<img src='image/brophp.jpg'".$attr.">";
?>

  下面的例子聲明一個(gè)image()函數(shù),可以打開GIF、JPG和PNG中任意格式的圖片,并在圖片的中間加上一個(gè)字符串后,保存成原來的格式(文字水?。?。在以后的開發(fā)中,如果需要同樣的操作(打開的是哪種格式的圖片,也保存成對(duì)應(yīng)格式的文件),可以參與本例的模式,代碼如下所示:

復(fù)制代碼 代碼如下:

<?php
    //向不同格式的圖片中間畫一個(gè)字符串(也是文字水?。?br />     function image($filename,$string){
        //獲取圖片的屬性,第一個(gè)寬度,第二個(gè)高度,類型1=>gif,2=>jpeg,3=>png
        list($width,$height,$type) = getimagesize($filename);
        //可以處理的圖片類型
        $types = array(1=>"gif",2=>"jpeg",3=>"png",);
        //通過圖片類型去組合,可以創(chuàng)建對(duì)應(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);
        //向圖片畫一個(gè)指定的字符串
        imagestring($image, 5, $x, $y, $string, $textcolor);
        //通過圖片類型去組合保存對(duì)應(yīng)格式的圖片函數(shù)
        $output = "image".$types[$type];
        //通過變量函數(shù)去保存對(duì)應(yīng)格式的圖片
        $output($image,$filename);
        imagedestroy($image);
    }
    image("brophp.gif","GIF");
    image("brophp.jpg", "JPEG");
    image("brophp.png", "PNG");
?>

相關(guān)文章

  • PHP+Mysql基于事務(wù)處理實(shí)現(xiàn)轉(zhuǎn)賬功能的方法

    PHP+Mysql基于事務(wù)處理實(shí)現(xiàn)轉(zhuǎn)賬功能的方法

    這篇文章主要介紹了PHP+Mysql基于事務(wù)處理實(shí)現(xiàn)轉(zhuǎn)賬功能的方法,實(shí)例分析了mysql事務(wù)處理的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-07-07
  • php下獲取http狀態(tài)的實(shí)現(xiàn)代碼

    php下獲取http狀態(tài)的實(shí)現(xiàn)代碼

    在項(xiàng)目開發(fā)中,有時(shí)我們需要知道遠(yuǎn)程的URL地址是否能訪問正常,判斷其正常與否后進(jìn)行下一步的操作,那么在PHP中如何獲取遠(yuǎn)程HTTP的狀態(tài)呢
    2014-05-05
  • php抽獎(jiǎng)概率算法(刮刮卡,大轉(zhuǎn)盤)

    php抽獎(jiǎng)概率算法(刮刮卡,大轉(zhuǎn)盤)

    這篇文章主要為大家詳細(xì)介紹了php中獎(jiǎng)概率算法,可用于刮刮卡,大轉(zhuǎn)盤等抽獎(jiǎng)算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-06-06
  • php版淘寶網(wǎng)查詢商品接口代碼示例

    php版淘寶網(wǎng)查詢商品接口代碼示例

    本文來給大家介紹一個(gè)php版淘寶網(wǎng)查詢商品接口代碼的例子,下面要改成你的信息的在代碼后面都有說明了,需要的朋友可以參考下
    2014-06-06
  • PHP輸出圖像imagegif、imagejpeg與imagepng函數(shù)用法分析

    PHP輸出圖像imagegif、imagejpeg與imagepng函數(shù)用法分析

    這篇文章主要介紹了PHP輸出圖像imagegif、imagejpeg與imagepng函數(shù)用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了imagegif()、imagejpeg()、imagepng()和imagewbmp()函數(shù)的功能、參數(shù)含義及使用技巧,需要的朋友可以參考下
    2016-11-11
  • php實(shí)現(xiàn)html標(biāo)簽閉合檢測(cè)與修復(fù)方法

    php實(shí)現(xiàn)html標(biāo)簽閉合檢測(cè)與修復(fù)方法

    這篇文章主要介紹了php實(shí)現(xiàn)html標(biāo)簽閉合檢測(cè)與修復(fù)方法,可實(shí)現(xiàn)針對(duì)html標(biāo)簽中結(jié)束標(biāo)簽的檢測(cè)與補(bǔ)全功能,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-07-07
  • PHP操作XML的教程詳解

    PHP操作XML的教程詳解

    這篇文章主要為大家詳細(xì)介紹了PHP操作XML的方法,文中的示例代碼講解詳細(xì),對(duì)我們學(xué)習(xí)或工作有一定的參考價(jià)值,感興趣的可以了解一下
    2022-05-05
  • php中分頁及SqlHelper類用法實(shí)例

    php中分頁及SqlHelper類用法實(shí)例

    這篇文章主要介紹了php中分頁及SqlHelper類用法,結(jié)合實(shí)例形式分析了php數(shù)據(jù)庫查詢類與分頁類的定義與具體使用技巧,需要的朋友可以參考下
    2017-01-01
  • PHP IE中下載附件問題解決方法

    PHP IE中下載附件問題解決方法

    在IE中下載附件之前要清空緩存、中文文件名要用urlencode編碼,下面有個(gè)不錯(cuò)的示例,需要的朋友可以參考下
    2014-01-01
  • PHP設(shè)計(jì)模式之解釋器模式的深入解析

    PHP設(shè)計(jì)模式之解釋器模式的深入解析

    本篇文章是對(duì)PHP設(shè)計(jì)模式中的解釋器模式進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06

最新評(píng)論