首頁 >後端開發 >php教程 >如何使用php程式碼實現印章的摳圖(程式碼)

如何使用php程式碼實現印章的摳圖(程式碼)

不言
不言原創
2018-07-26 11:23:593335瀏覽

這篇文章給大家分享的內容是關於如何使用php程式碼實現印章的摳圖(程式碼),內容很詳細,有需要的朋友可以參考一下,希望可以幫助到你們.

能將白底紅字的印章摳出來,用的是php,框架是laravel,其他框架請自行調整。扣其他顏色也可以,把裡面的那段rgb參數判斷改改就行了,最後摳出來的效果就是白底變透明,然後只留下紅色的章,放在其他頁面上就能形成蓋章的效果了。程式碼自己寫的,可能有bug,但做測試還是ok的,用到工作上的話請自行測試優化。 (在我自己測試對比下,能做到和PS差不多的摳圖效果)

##

function getStamp(){
  $path = storage_path('2018052411173848180.png');
  $image = file_get_contents($path);


  $info = getimagesize($path);
  $im = imagecreatefromstring($image);
  $width = $info[0];
  $height = $info[1];
  for($i=0;$i<$height;$i+=1){
    for($j=0;$j<$width;$j+=1){
      $rgb = ImageColorAt($im, $j, $i);
      $r = ($rgb >> 16) & 0xFF;
      $g = ($rgb >> 8) & 0xFF;
      $b = $rgb & 0xFF;
      echo $r.&#39;.&#39;.$g.&#39;.&#39;.$b.&#39;.=&#39;.$rgb.&#39;<br>x=&#39;.$j.&#39;, y=&#39;.$i.&#39;<br>&#39;;

      if(intval($r)>220 && $g >220 && $b>220){
        $hex = imagecolorallocate($im, 255, 255, 255);
        imagesetpixel($im,$j, $i, $hex);
      }
    }
  }
  $white = imagecolorallocate($im , 255 , 255 , 255);//拾取白色
  imagefill($im , 0 , 0 , $white);//把画布染成白色
  imagecolortransparent($im , $white ) ;//把图片中白色设置为透明色

  imagepng($im , storage_path(&#39;test2.png&#39;));//生成图片

  return false;
}

相關推薦:

## php實作支付寶app支付和非同步通知的程式碼實例

php socket程式設計常用的函數以及簡單c/s互動的實作

###

以上是如何使用php程式碼實現印章的摳圖(程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn