实现图片反色
时间:2011-10-05
来源:互联网
函数名: fanse($src,$fs=0)
参数设置:$src--原始图片地址;$fs--是否反色 1反色0不,默认不反色
功能:实现图片颜色的相反,路黑-白,对于黑白
反色原理:将RGB三个颜色的分量分别被256减,就得到反色后的RGB分量了
黑兔图片http://shunhuayangzhi.com/uploads/allimg/101218/1_101218115153_1.jpg
复制代码
参数设置:$src--原始图片地址;$fs--是否反色 1反色0不,默认不反色
功能:实现图片颜色的相反,路黑-白,对于黑白
反色原理:将RGB三个颜色的分量分别被256减,就得到反色后的RGB分量了
黑兔图片http://shunhuayangzhi.com/uploads/allimg/101218/1_101218115153_1.jpg
- <?php
- /*
- 函数名: fanse($src,$fs=0)
- 参数设置:$src--原始图片地址;$fs--是否反色 1反色0不,默认不反色
- 功能:实现图片颜色的相反,路黑-白,对于黑白
- 反色原理:将RGB三个颜色的分量分别被256减,就得到反色后的RGB分量了
- */
-
- function fanse($src,$fs=0){
- //图片相关信息数组
- $arr=getimagesize($src);
- if(!$arr)die('图片参数存在问题');
- switch($arr[2]){
- case 1:$img=imagecreatefromgif($src);break;
- case 2:$img=imagecreatefromjpeg($src);break;
- case 3:$img=imagecreatefrompng($src);break;
- default:die('不支持的图片类型');
- }
-
- if($fs==1){
- //图片反色
- for($y=0;$y<$arr[1];$y++){
- for($x=0;$x<$arr[0];$x++){
- //获取颜色索引
- $index=imagecolorat($img,$x,$y);
- //颜色数组
- $color_arr=imagecolorsforindex($img,$index);
- //数值翻转
- $red=256-$color_arr['red'];
- $green=256-$color_arr['green'];
- $blue=256-$color_arr['blue'];
- $fanse=imagecolorallocate($img,$red,$green,$blue);
- //在该点设置相反颜色
- imagesetpixel($img,$x,$y,$fanse);
-
- /*$colorReverse=(~$index) & 0xFFFFFF ;//php用的32位的,所以需要去掉最开始8个1
- imagesetpixel($img,$x,$y,$colorReverse);
- */
- }
- }
-
- }//end if($fs==1)
-
- //根据图片类型设置输出
- switch($arr[2]){
- case 1:header('content-type:image/gif');imagegif($img,false,100);break;
- case 2:header('content-type:image/jpeg');imagejpeg($img,false,100);break;
- case 3:header('content-type:image/png');imagepng($img,false,100);break;
- }
-
- }//end function fanse($src)
-
-
-
-
-
-
- //测试例子
- set_time_limit(0);
-
- //图片地址
- $src='http://shunhuayangzhi.com/uploads/allimg/101218/1_101218115153_1.jpg';//黑兔
-
- //反色或正常输出图片
- fanse($src,1);
-
-
-
- ?>
作者: 阿修罗 发布时间: 2011-10-05
谢谢共享 求简化
作者: cucme 发布时间: 2011-10-05
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28