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

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

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

imagefilter($im, IMG_FILTER_GRAYSCALE)

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

img {

-webkit-filter: grayscale(1);/* Webkit */

filter:gray;/* IE6-9 */

filter: grayscale(1);/* W3C */

}

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

//获取颜色的所以值

$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);

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

989a4689615b24bf56e3239f20663de8.png

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

ec25e747b74337720f1aa1ca3bda1518.png

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值