php工具型代码之印章抠图

yipeiwu_com6年前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.'.'.$g.'.'.$b.'.='.$rgb.'<br>x='.$j.', y='.$i.'<br>';

      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('test2.png'));//生成图片

  return false;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【宜配屋www.yipeiwu.com】。

相关文章

浅谈php7的重大新特性

浅谈php7的重大新特性

截止到目前为止,PHP官方已经发布了php7的RC5版本,预计在11月份左右会发布第一个正式版本!现在来说php7的重大特性肯定已经是定型了,不会再有什么变动了。后续一些版本的迭代主要也...

PHP查找数组中只出现一次的数字实现方法【查找特定元素】

本文实例讲述了PHP查找数组中只出现一次的数字实现方法。分享给大家供大家参考,具体如下: 问题: 一个整型数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数...

php实现图片添加描边字和马赛克的方法

php实现图片添加描边字和马赛克的方法

本文实例讲述了php实现图片添加描边字和马赛克的方法。分享给大家供大家参考。具体实现方法如下: 马赛克:void imagemask ( resource image, int x1,...

快速配置PHPMyAdmin方法

    那么我们现在开始进行安装配置:     1.一般网上下载到的PHPMyAdmin是一个压缩包,我们...

PHP常用操作类之通信数据封装类的实现

PHP常用操作类之通信数据封装类的实现

前言 本文主要给大家介绍了关于PHP常用操作类之通信数据封装类实现的相关内容,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍: 必要性 不管在B/S架构中,还是C/S架构中...