php對(duì)圖像的各種處理函數(shù)代碼小結(jié)(2)_PHP教程

      編輯Tag賺U幣
      教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

      推薦:PHP 關(guān)于訪問(wèn)控制的和運(yùn)算符優(yōu)先級(jí)介紹
      這篇文章主要介紹了PHP中關(guān)于訪問(wèn)控制的和運(yùn)算符優(yōu)先級(jí)介紹,需要的朋友可以參考下 復(fù)制代碼 代碼如下: class Foo { private $name = 'hdj'; public function getName(){ return $this-name; } } class Bar extends Foo { public $name = 'deeka'; } $bar = new Bar; va

      //圖片水印
      function mark_pic($background, $waterpic, $x, $y){
      $back=imagecreatefromjpeg($background);
      $water=imagecreatefromgif($waterpic);
      $w_w=imagesx($water);
      $w_h=imagesy($water);
      imagecopy($back, $water, $x, $y, 0, 0, $w_w, $w_h);
      imagejpeg($back,"./images/hee8.jpg");
      imagedestroy($back);
      imagedestroy($water);
      }
      mark_pic("./images/hee.jpg", "./images/gaolf.gif", 50, 200);

      圖片旋轉(zhuǎn)

      復(fù)制代碼 代碼如下:
      $back=imagecreatefromjpeg("./images/hee.jpg");
       $new=imagerotate($back, 45, 0);
       imagejpeg($new, "./images/hee9.jpg");


      圖片水平翻轉(zhuǎn)垂直翻轉(zhuǎn)

      復(fù)制代碼 代碼如下:
      function turn_y($background, $newfile){
        $back=imagecreatefromjpeg($background);

        $width=imagesx($back);
        $height=imagesy($back);

        $new=imagecreatetruecolor($width, $height);

        for($x=0; $x < $width; $x++){
         imagecopy($new, $back, $width-$x-1, 0, $x, 0, 1, $height);
        }

        imagejpeg($new, $newfile);

        imagedestroy($back);
        imagedestroy($new);
       }

       function turn_x($background, $newfile){
        $back=imagecreatefromjpeg($background);

        $width=imagesx($back);
        $height=imagesy($back);

        $new=imagecreatetruecolor($width, $height);

        for($y=0; $y < $height; $y++){
         imagecopy($new, $back,0, $height-$y-1, 0, $y, $width, 1);
        }

        imagejpeg($new, $newfile);

        imagedestroy($back);
        imagedestroy($new);
       }

       turn_y("./images/hee.jpg", "./images/hee11.jpg");
       turn_x("./images/hee.jpg", "./images/hee12.jpg");


       圖片銳化

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


      function sharp($background, $degree, $save){
       $back=imagecreatefromjpeg($background);

       $b_x=imagesx($back);
       $b_y=imagesy($back);

       $dst=imagecreatefromjpeg($background);
       for($i=0; $i<$b_x; $i++){
        for($j=0; $j<$b_y; $j++){
         $b_clr1=imagecolorsforindex($back, imagecolorat($back, $i-1, $j-1));\\前一個(gè)像素顏色數(shù)組
         $b_clr2=imagecolorsforindex($back, imagecolorat($back, $i, $j));\\取出當(dāng)前顏色數(shù)組

         $r=intval($b_clr2["red"]+$degree*($b_clr2["red"]-$b_clr1["red"]));\\加深
         $g=intval($b_clr2["green"]+$degree*($b_clr2["green"]-$b_clr1["green"]));
         $b=intval($b_clr2["blue"]+$degree*($b_clr2["blue"]-$b_clr1["blue"]));

         $r=min(255, max($r, 0));//限制r范圍在0-255之間
         $g=min(255, max($g, 0));
         $b=min(255, max($b, 0));

         if(($d_clr=imagecolorexact($dst, $r, $g, $b))==-1){//等于1不在顏色范圍內(nèi)
          $d_clr=Imagecolorallocate($dst, $r, $g, $b);//創(chuàng)建一個(gè)顏色
         }

         imagesetpixel($dst, $i, $j, $d_clr);
        }

       }
       imagejpeg($dst, $save);
       imagedestroy($back);
       imagedestroy($dst);
      }

      sharp("./images/hee.jpg", 20, "./images/hee13.jpg");

      分享:關(guān)于PHP語(yǔ)言構(gòu)造器介紹
      PHP里有echo、print、die、require等幾個(gè)特殊的關(guān)鍵字,雖然它們用起來(lái)像是函數(shù),但實(shí)際上更類似于if、while這樣控制語(yǔ)句,而不是一個(gè)函數(shù)。也就是說(shuō),當(dāng)解釋器遇到: 復(fù)制代碼 代碼如下: print 'Hello world'; 這樣的一個(gè)表達(dá)式的時(shí)候,并不會(huì)把它轉(zhuǎn)換成函數(shù)調(diào)用,而

      共2頁(yè)上一頁(yè)12下一頁(yè)
      來(lái)源:模板無(wú)憂//所屬分類:PHP教程/更新時(shí)間:2013-07-09
      相關(guān)PHP教程