php工具型代码之印章抠图


Posted in PHP onJuly 18, 2018

能将白底红字的印章抠出来,用的是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;
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
php简单静态页生成过程
Mar 27 PHP
php 接口类与抽象类的实际作用
Nov 26 PHP
php 大数据量及海量数据处理算法总结
May 07 PHP
php的array数组和使用实例简明教程(容易理解)
Mar 20 PHP
thinkphp学习笔记之多表查询
Jul 28 PHP
PHP实现从远程下载文件的方法
Mar 12 PHP
PHP 获取ip地址代码汇总
Jul 05 PHP
PHP中的正则表达式实例详解
Apr 25 PHP
PHP抽象类与接口的区别详解
Mar 21 PHP
PHP超低内存遍历目录文件和读取超大文件的方法
May 01 PHP
PHP var关键字相关原理及使用实例解析
Jul 11 PHP
aec加密 php_php aes加密解密类(兼容php5、php7)
Mar 14 PHP
php压缩文件夹最新版
Jul 18 #PHP
PHP自定义递归函数实现数组转JSON功能【支持GBK编码】
Jul 17 #PHP
PHP7新特性之抽象语法树(AST)带来的变化详解
Jul 17 #PHP
阿里云的WindowsServer2016上部署php+apache
Jul 17 #PHP
tp5实现微信小程序多图片上传到服务器功能
Jul 16 #PHP
PHP 爬取网页的主要方法
Jul 13 #PHP
php实现微信发红包功能
Jul 13 #PHP
You might like
我的群发邮件程序
2006/10/09 PHP
php冒泡排序与快速排序实例详解
2015/12/07 PHP
php安装扩展mysqli的实现步骤及报错解决办法
2017/09/23 PHP
php中青蛙跳台阶的问题解决方法
2018/10/14 PHP
php反射学习之不用new方法实例化类操作示例
2019/06/14 PHP
PHP7 新增功能
2021/03/09 PHP
获取Javscript执行函数名称的方法
2006/12/22 Javascript
Node.js文件操作详解
2014/08/16 Javascript
JQuery插件jcarousellite的参数中文说明
2015/05/11 Javascript
jquery实现简单合拢与展开网页面板的方法
2015/09/01 Javascript
javascript实现加载xml文件的方法
2015/11/24 Javascript
javascript中FOREACH数组方法使用示例
2016/03/01 Javascript
BootStrapTable 单选及取值的实现方法
2017/01/10 Javascript
JS判断键盘是否按的回车键并触发指定按钮点击操作的方法
2017/02/13 Javascript
基于DOM节点删除之empty和remove的区别(详解)
2017/09/11 Javascript
Angular4自制一个市县二级联动组件示例
2017/11/21 Javascript
详解微信小程序-获取用户session_key,openid,unionid - 后端为nodejs
2019/04/29 NodeJs
webpack4 配置 ssr 环境遇到“document is not defined”
2019/10/24 Javascript
Vue父子传递实例讲解
2020/02/14 Javascript
[02:32]DOTA2亚洲邀请赛 C9战队出场宣传片
2015/02/07 DOTA
Python 读取指定文件夹下的所有图像方法
2018/04/27 Python
Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例
2018/07/18 Python
Django CBV类的用法详解
2019/07/26 Python
PyQt 图解Qt Designer工具的使用方法
2019/08/06 Python
python matplotlib模块基本图形绘制方法小结【直线,曲线,直方图,饼图等】
2020/04/26 Python
python 使用tkinter+you-get实现视频下载器
2020/11/17 Python
党校学习思想汇报
2014/01/06 职场文书
党的群众路线教育实践活动个人剖析材料
2014/10/07 职场文书
流动人口婚育证明
2014/10/19 职场文书
2014年酒店年度工作总结
2014/12/10 职场文书
2015年村党支部工作总结
2015/04/30 职场文书
幼儿园家长心得体会
2016/01/21 职场文书
Vue3 Composition API的使用简介
2021/03/29 Vue.js
Golang ort 中的sortInts 方法
2022/04/24 Golang
详解Mysql事务并发(脏读、不可重复读、幻读)
2022/04/29 MySQL
CSS SandBox应用场景及常见问题
2022/06/25 HTML / CSS