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 什么是PEAR?(第二篇)
Mar 19 PHP
用mysql触发器自动更新memcache的实现代码
Oct 11 PHP
Window 7/XP 安装Apache 2.4与PHP 5.4 的过程详解
Jun 02 PHP
Codeigniter出现错误提示Error with CACHE directory的解决方案
Jun 12 PHP
php对象和数组相互转换的方法
May 12 PHP
php防止用户重复提交表单
Nov 02 PHP
PHP判断FORM表单或URL参数来的数据是否为整数的方法
Mar 25 PHP
php 实现一个字符串加密解密的函数实例代码
Nov 01 PHP
php过滤输入操作之htmlentities与htmlspecialchars用法分析
Feb 17 PHP
php中时间函数date及常用的时间计算
May 12 PHP
PHP生成二维码与识别二维码的方法详解【附源码下载】
Mar 07 PHP
php面向对象程序设计入门教程
Jun 22 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
基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能
2017/02/24 PHP
php爬取天猫和淘宝商品数据
2018/02/23 PHP
Laravel实现批量更新多条数据
2020/04/06 PHP
借用Google的Javascript API Loader来加速你的网站
2009/01/28 Javascript
jQuery中获取checkbox选中项等操作及注意事项
2013/11/24 Javascript
JavaScript基于DOM操作实现简单的数学运算功能示例
2017/01/16 Javascript
js实现消息滚动效果
2017/01/18 Javascript
vue一步步实现alert功能
2017/07/05 Javascript
关于vue的语法规则检测报错问题的解决
2018/05/21 Javascript
python使用xlrd模块读写Excel文件的方法
2015/05/06 Python
Python3字符串学习教程
2015/08/20 Python
Python使用pygame模块编写俄罗斯方块游戏的代码实例
2015/12/08 Python
python subprocess 杀掉全部派生的子进程方法
2017/01/16 Python
Python 多进程和数据传递的理解
2017/10/09 Python
详解Python使用tensorflow入门指南
2018/02/09 Python
详解python Todo清单实战
2018/11/01 Python
使用python opencv对目录下图片进行去重的方法
2019/01/12 Python
Python之列表实现栈的工作功能
2019/01/28 Python
浅析Python 实现一个自动化翻译和替换的工具
2019/04/14 Python
Django框架安装方法图文详解
2019/11/04 Python
Python 如何调试程序崩溃错误
2020/08/03 Python
HTML5 manifest离线缓存的示例代码
2018/08/08 HTML / CSS
Qoo10马来西亚:全球时尚和引领潮流的购物市场
2016/08/25 全球购物
无畏的旅行:Intrepid Travel
2017/12/20 全球购物
英国最受欢迎的平价女士时装零售商:Roman Originals
2019/11/02 全球购物
静态成员和非静态成员的区别
2012/05/12 面试题
英语专业个人求职自荐信
2013/09/21 职场文书
护理个人求职信范文
2014/01/08 职场文书
大学生军训感想
2014/02/16 职场文书
放飞梦想演讲稿200字
2014/08/26 职场文书
校园游戏活动新闻稿
2014/10/15 职场文书
2014年社区矫正工作总结
2014/11/18 职场文书
婚庆答谢词
2015/01/04 职场文书
遗愿清单观后感
2015/06/09 职场文书
初中语文教学随笔
2015/08/15 职场文书
详解OpenCV获取高动态范围(HDR)成像
2022/04/29 Python