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中使用PDF文档功能
Oct 09 PHP
php下关于Cannot use a scalar value as an array的解决办法
Aug 08 PHP
php中var_export与var_dump的区别分析
Aug 21 PHP
基于flush()不能按顺序输出时的解决办法
Jun 29 PHP
迅速确定php多维数组的深度的方法
Jan 07 PHP
使用php清除bom示例
Mar 03 PHP
php sybase_fetch_array使用方法
Apr 15 PHP
php从数组中随机选择若干不重复元素的方法
Mar 14 PHP
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法
Mar 23 PHP
浅谈PHP中的数据传输CURL
Sep 06 PHP
PHP脚本自动识别验证码查询汽车违章
Dec 20 PHP
PHP实现防止表单重复提交功能【基于token验证】
May 24 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
如何给phpadmin一个保护
2006/10/09 PHP
巧用php中的array_filter()函数去掉多维空值的代码分享
2012/09/07 PHP
php生成静态html页面的方法(2种方法)
2015/09/14 PHP
浅谈PHP中的错误处理和异常处理
2017/02/04 PHP
Javascript &amp; DHTML 实例编程(教程)基础知识
2007/06/02 Javascript
jQuery选择头像并实时显示的代码
2010/06/27 Javascript
原生js实现shift/ctrl/alt按键的获取
2013/04/08 Javascript
jQuery制作拼图小游戏
2015/01/12 Javascript
Nodejs学习笔记之入门篇
2015/04/16 NodeJs
基于HTML+CSS,jQuery编写的简易计算器后续(添加了键盘监听)
2016/01/05 Javascript
深入理解vue.js双向绑定的实现原理
2016/12/05 Javascript
JSONP跨域请求
2017/03/02 Javascript
详解Vue 事件驱动和依赖追踪
2017/04/22 Javascript
Angularjs的$http异步删除数据详解及实例
2017/07/27 Javascript
分享5个顶级的JavaScript Ajax组件库
2018/09/16 Javascript
JavaScript ES6箭头函数使用指南
2018/12/30 Javascript
vue自定义指令之面板拖拽的实现
2019/04/14 Javascript
vue-week-picker实现支持按周切换的日历
2019/06/26 Javascript
layui 实现二级弹窗弹出之后 关闭一级弹窗的方法
2019/09/18 Javascript
解决Nuxt使用axios跨域问题
2020/07/06 Javascript
Openlayers显示地理位置坐标的方法
2020/09/28 Javascript
详解Vue中Axios封装API接口的思路及方法
2020/10/10 Javascript
python元组操作实例解析
2014/09/23 Python
python中os模块详解
2016/10/14 Python
python利用OpenCV2实现人脸检测
2020/04/16 Python
python实现聊天小程序
2018/03/13 Python
python实现列表中由数值查到索引的方法
2018/06/27 Python
django 简单实现登录验证给你
2019/11/06 Python
使用pygame写一个古诗词填空通关游戏
2019/12/03 Python
Python操作word文档插入图片和表格的实例演示
2020/10/25 Python
求职简历中个人的自我评价
2013/12/01 职场文书
教师开学感言
2014/02/14 职场文书
向国旗敬礼活动小结
2014/09/27 职场文书
golang如何去除多余空白字符(含制表符)
2021/04/25 Golang
MybatisPlus代码生成器的使用方法详解
2021/06/13 Java/Android
Oracle 11g数据库使用expdp每周进行数据备份并上传到备份服务器
2022/06/28 Oracle