PHP实现对图片的反色处理功能【测试可用】


Posted in PHP onFebruary 01, 2018

本文实例讲述了PHP实现对图片的反色处理功能。分享给大家供大家参考,具体如下:

今天有个需求用php对图片进行反色,和转灰,之前不知道可不可行,后来看到了imagefilter()函数,用来转灰绰绰有余,好强大;

imagefilter($im, IMG_FILTER_GRAYSCALE)

当然也有人在css里面设置变灰

<style type="text/css">
img {
-webkit-filter: grayscale(1);/* Webkit */
filter:gray;/* IE6-9 */
filter: grayscale(1);/* W3C */
}
</style>

php转色代码:

<?php
/**
* 主要用于图片的处理函数
*/
//图片的反色功能
function color($url) {
  //获取图片的信息
  list($width, $height, $type, $attr)= getimagesize($url);
  $imagetype = strtolower(image_type_to_extension($type,false));
  $fun = 'imagecreatefrom'.($imagetype == 'jpg'?'jpeg':$imagetype);
  $img = $fun($url);
  for ($y=0; $y < $height; $y++) {
    for ($x=0; $x <$width; $x++) {
    //获取颜色的所以值
    $index = imagecolorat($img, $x, $y);
    //获取颜色的数组
    $color = imagecolorsforindex($img, $index);
    //颜色值的反转
    $red = 256 - $color['red'];
    $green = 256 - $color['green'];
    $blue = 256 - $color['blue'];
    $hex = imagecolorallocate($img, $red, $green, $blue);
    //给每一个像素分配颜色值
    imagesetpixel($img, $x, $y, $hex);
  }
  }
  //输出图片
  switch ($imagetype) {
    case 'gif':
    imagegif($img);
    break;
  case 'jpeg':
    imagejpeg($img);
    break;
  case 'png':
    imagepng($img);
    break;
  default:
    break;
  }
}

测试代码:

$imgurl='1.jpg';
echo color($imgurl);

原图(以小编常用的这副毁童年恶搞图为例):

PHP实现对图片的反色处理功能【测试可用】

运行后(这里以测试为主,至于图片颠覆三观还是五官,小编就不多过问了~):

PHP实现对图片的反色处理功能【测试可用】

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
用PHP读注册表
Oct 09 PHP
我的论坛源代码(二)
Oct 09 PHP
PHP抓屏函数实现屏幕快照代码分享
Jan 02 PHP
smarty获得当前url的方法分享
Feb 14 PHP
php顺序查找和二分查找示例
Mar 27 PHP
php实现的用户查询类实例
Jun 18 PHP
php基于Snoopy解析网页html的方法
Jul 09 PHP
举例讲解PHP面对对象编程的多态
Aug 12 PHP
ThinkPHP中Widget扩展的两种写法及调用方法详解
May 04 PHP
php微信支付之公众号支付功能
May 30 PHP
PHP实现的CURL非阻塞调用类
Jul 26 PHP
thinkPHP框架实现类似java过滤器的简单方法示例
Sep 05 PHP
php 删除一维数组中某一个值元素的操作方法
Feb 01 #PHP
基于php双引号中访问数组元素报错的解决方法
Feb 01 #PHP
PHP运用foreach神奇的转换数组(实例讲解)
Feb 01 #PHP
PHP双向链表定义与用法示例
Jan 31 #PHP
基于PHP实现的多元线性回归模拟曲线算法
Jan 30 #PHP
PHP 记录访客的浏览信息方法
Jan 29 #PHP
laravel ORM 只开启created_at的几种方法总结
Jan 29 #PHP
You might like
中英文字符串翻转函数
2008/12/09 PHP
php实现多张图片上传加水印技巧
2013/04/18 PHP
php多文件上传功能实现原理及代码
2013/04/18 PHP
保存到桌面、设为桌面且带图标的PHP代码
2013/11/19 PHP
理解PHP中的stdClass类
2014/04/18 PHP
php之Smarty模板使用方法示例详解
2014/07/08 PHP
七种PHP开发环境搭建工具
2020/06/28 PHP
简单实例处理url特殊符号&amp;处理(2种方法)
2013/04/02 Javascript
jquery必须知道的一些常用特效方法及使用示例(整理)
2013/06/24 Javascript
javascript如何操作HTML下拉列表标签
2015/08/20 Javascript
jquery弹出遮掩层效果【附实例代码】
2016/04/28 Javascript
Angular.js中用ng-repeat-start实现自定义显示
2016/10/18 Javascript
bootstrap table使用入门基本用法
2017/05/24 Javascript
vue购物车插件编写代码
2017/11/27 Javascript
让axios发送表单请求形式的键值对post数据的实例
2018/08/11 Javascript
微信小程序模板消息限制实现无限制主动推送的示例代码
2019/08/27 Javascript
vue中的v-if和v-show的区别详解
2019/09/01 Javascript
javascript设计模式 ? 迭代器模式原理与用法实例分析
2020/04/17 Javascript
nestjs中异常过滤器Exceptionfilter的具体使用
2021/02/07 Javascript
[41:52]2018DOTA2亚洲邀请赛3月29日小组赛B组Effect VS Secret
2018/03/30 DOTA
初步认识Python中的列表与位运算符
2015/10/12 Python
pycharm运行和调试不显示结果的解决方法
2018/11/30 Python
python实现dijkstra最短路由算法
2019/01/17 Python
python numpy实现rolling滚动案例
2020/06/08 Python
python3.6.8 + pycharm + PyQt5 环境搭建的图文教程
2020/06/11 Python
几款好用的python工具库(小结)
2020/10/20 Python
Stuart Weitzman美国官网:美国奢华鞋履品牌
2016/08/18 全球购物
绘儿乐产品官方在线商店:Crayola.com
2019/09/07 全球购物
四风问题民主生活会对照检查材料思想汇报
2014/09/27 职场文书
党员查摆问题及整改措施
2014/10/10 职场文书
2015毕业生实习期工作总结
2015/04/09 职场文书
廉政承诺书2015
2015/04/28 职场文书
公司老总年会致辞
2015/07/30 职场文书
详细聊一聊mysql的树形结构存储以及查询
2022/04/05 MySQL
python图像处理 PIL Image操作实例
2022/04/09 Python
mysql使用 not int 子查询隐含陷阱
2022/04/12 MySQL