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 XML备份Mysql数据库
May 27 PHP
PHP MemCached高级缓存配置图文教程
Aug 05 PHP
php中session_unset与session_destroy的区别分析
Jun 16 PHP
php面向对象 字段的声明与使用
Jun 14 PHP
PHP5.4中json_encode中文转码的变化小结
Jan 30 PHP
浅谈PHP正则表达式中修饰符/i, /is, /s, /isU
Oct 21 PHP
ThinkPHP实现非标准名称数据表快速创建模型的方法
Nov 29 PHP
PHP获取一段文本显示点阵宽度和高度的方法
Mar 12 PHP
php正则preg_replace_callback函数用法实例
Jun 01 PHP
PHP合并数组+号和array_merge的区别
Jun 25 PHP
实例讲解YII2中多表关联的使用方法
Jul 21 PHP
php识别翻转iphone拍摄的颠倒图片
May 17 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面向对象全攻略 (三)特殊的引用“$this”的使用
2009/09/30 PHP
php echo 输出字符串函数详解
2010/05/13 PHP
用穿越火线快速入门php面向对象
2012/02/22 PHP
php结合正则获取字符串中数字
2015/06/19 PHP
实现php删除链表中重复的结点
2018/09/27 PHP
基于jquery实现的表格分页实现代码
2011/06/21 Javascript
jQuery制作的别致导航有阴影背景高亮模式窗口
2014/04/15 Javascript
Javascript基础教程之for循环
2015/01/18 Javascript
javascript密码强度校验代码(两种方法)
2015/08/10 Javascript
js调用百度地图及调用百度地图的搜索功能
2015/09/07 Javascript
分享有关jQuery中animate、slide、fade等动画的连续触发、滞后反复执行的bug
2016/01/10 Javascript
jQuery插件FusionWidgets实现的Bulb图效果示例【附demo源码下载】
2017/03/23 jQuery
十大 Node.js 的 Web 框架(快速提升工作效率)
2017/06/30 Javascript
Angular 5.0 来了! 有这些大变化
2017/11/15 Javascript
windows下更新npm和node的方法
2017/11/30 Javascript
JS左右无缝轮播功能完整实例
2019/05/16 Javascript
Vue.js自定义指令学习使用详解
2019/10/19 Javascript
ES6中的Javascript解构的实现
2020/10/30 Javascript
通过代码实例展示Python中列表生成式的用法
2015/03/31 Python
Python使用迭代器捕获Generator返回值的方法
2017/04/05 Python
python urllib urlopen()对象方法/代理的补充说明
2017/06/29 Python
python基于twisted框架编写简单聊天室
2018/01/02 Python
Python决策树和随机森林算法实例详解
2018/01/30 Python
python安装numpy和pandas的方法步骤
2019/05/27 Python
python中的RSA加密与解密实例解析
2019/11/18 Python
通过代码实例了解Python sys模块
2020/09/14 Python
canvas之自定义头像功能实现代码示例
2017/09/29 HTML / CSS
纽约著名的服装辅料来源:M&J Trimming
2017/07/26 全球购物
美国新兴城市生活方式零售商:VILLA
2017/12/06 全球购物
StubHub中国:购买和出售全球活动门票
2020/01/01 全球购物
教师网络培训感言
2014/03/09 职场文书
先进单位申报材料
2014/12/25 职场文书
sqlserver2017共享功能目录路径不可改的解决方法
2021/04/16 SQL Server
mysql 体系结构和存储引擎介绍
2022/05/06 MySQL
解决spring.thymeleaf.cache=false不起作用的问题
2022/06/10 Java/Android
Android学习之BottomSheetDialog组件的使用
2022/06/21 Java/Android