溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

使用PHP怎么實(shí)現(xiàn)一個(gè)圖片裁剪和添加水印功能

發(fā)布時(shí)間:2021-02-07 20:16:19 來(lái)源:億速云 閱讀:150 作者:Leah 欄目:開發(fā)技術(shù)

使用PHP怎么實(shí)現(xiàn)一個(gè)圖片裁剪和添加水印功能?很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

3、PHP對(duì)圖像的裁剪

 <div>
    <h5>裁剪之前</h5>
    <img src="1.png" >
  </div>
  <?php
  header("content-type","text/html;charset=utf-8");
   
  /*
  *圖片裁剪
  *@param string $filename  圖片的url
  *@param int  $width   圖片裁剪寬度
  *@param int  $height   圖片裁剪高度
  *@param int  $x     裁剪圖片左邊開始的位置
  *@param int  $y     裁剪圖片頂邊開始的位置
  */
  function cut($filename,$x,$y,$width,$height)
  {
    /*獲取圖像資源,需要裁剪的圖片*/
    $image = imagecreatefrompng($filename);
  
    /*以新的大小創(chuàng)建畫布,保存裁剪后的圖片*/
    $image_p = imagecreatetruecolor($width, $height);
  
    /*使用imagecopyresampled縮放*/
    imagecopyresampled($image_p, $image, 0, 0, $x, $y, $width, $height, $width, $height);
  
    /*保存裁剪后的圖片和命名*/
    imagepng($image_p,'test1.png');
  
    /*釋放資源*/
    imagedestroy($image_p);
    imagedestroy($image);
  }
  /*調(diào)用函數(shù)*/
  cut('1.png',20,20,80,80);      
  ?>
  <div>
    <h5>裁剪之后</h5>
    <img src="test1.png" >
  </div>

效果

使用PHP怎么實(shí)現(xiàn)一個(gè)圖片裁剪和添加水印功能

4、PHP為圖像添加水印

 <div>
    <h5>沒(méi)有水印</h5>
    <img src="1.png" >
  </div>
  <?php
  header("content-type","text/html;charset=utf-8");
   
  /*
  *給背景圖片添加水印,背景圖片格式png,水印格式gif
  *@param string $filename  圖片的url
  *@param string $water   水印圖片
  */
  function watermark($filename,$water)
  {
    /*獲取原圖的大小*/
    list($b_w,$b_h) = getimagesize($filename);
  
    /*獲取水印圖片的大小*/
    list($w_w,$w_h) = getimagesize($water);
  
    /*在背景圖片中放水印圖片的隨機(jī)起始位置*/
    $posX =rand(0,($b_w - $w_w));
    $posY =rand(0,($b_h - $w_h));
  
    /*獲取圖像資源,需要裁剪的圖片*/
    $back = imagecreatefrompng($filename);
    $water = imagecreatefromgif($water);
  
    /*使用Inagecopy函數(shù)復(fù)制水印圖片到指定位置*/
    imagecopy($back, $water, $posX, $posY, 0, 0, $w_w, $w_h);
  
    /*保存帶水印的圖片和命名*/
    imagepng($back,'test2.png');
  
    /*釋放資源*/
    imagedestroy($back);
    imagedestroy($water);
  }
  /*調(diào)用函數(shù)*/
  watermark('1.png','test.gif');      
  ?>
  <div>
    <h5>加上水印</h5>
    <img src="test2.png" >
  </div>

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

php
AI