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;
      }
  }
时间: 2024-11-05 12:30:35

php对图片反色处理的相关文章

html5 canvas图片反色

<!doctype html> <html> <head> <meta charset="utf-8"> <title>无标题文档</title> <script> window.onload = function () { var oc = document.getElementById('c1'); var ogc = oc.getContext('2d'); var yimg = new Imag

批量生成反色图片,用PHOTOSHOP批处理功能。

http://zhidao.baidu.com/link?url=Iz46PDPnEITummTEwo2GtUrK6AeAjlidJ7HtCPJ6NYZJbbllRwNg2iBAcNwF2TYjccPCKvolstw7oRLFKHOP4a 首先把要处理的图片放在一个文件夹内,方便以后的批处理. 打开一张图片,然后在动作面板中新建动作,可命名为“反色”. 然后工具栏中点击图像,调整,反相 调整后存储.这时停止动作的录制.接着,点工具栏里的文件,自动,批处理. 在弹出的对话框中选择刚刚录制的“反色”

WP8图片处理(反色,灰度,柔化)

今天在做图片处理的时候没找到有多少关于wp8的图片处理,wp8.1的话因为API和window的一样了,处理按window来简单好多,而且也到处都是,所以就找了些资料,自己加了两个处理效果 1.灰度处理: 也就是将彩色变黑白效果,他的原理是:对每个像素点的RGB进行平均处理.下面我是使用了加权平均去算的 /// <summary> /// 灰度处理 /// </summary> private void GrayScale() { WriteableBitmap wb = new

[js高手之路] html5 canvas系列教程 - 像素操作(反色,黑白,亮度,复古,蒙版,透明)

接着上文[js高手之路] html5 canvas系列教程 - 状态详解(save与restore),相信大家都应该玩过美颜功能,而我们今天要讲的就是canvas强大的像素处理能力,通过像素处理,实现反色,黑白,亮度,复古,蒙版,透明等美颜效果. getImageData:获取一张图片的像素数据 cxt.getImageData( x, y, width, height ) x:图片所在的x坐标 y: 图片所在的y坐标 width,height 要获取的像素区域 返回值是一个对象,对象包括一个d

VC++6.0下通过opencv读入图像并反色

第一个opencv测试程序: 不多说,直接上代码,代码注释很详尽: //////////////////////////////////////////////////////////////////////// // // 该程序从文件中读入一幅图像,将之反色,然后显示出来. // //////////////////////////////////////////////////////////////////////// #include <stdlib.h> #include <

iOS实现图像的反色,怀旧,色彩直方图效果

反色是与原色叠加可以变为白色的颜色,即用白色(RGB:1.0,1.0,1.0)减去原色的颜色.比如说红色(RGB:1.0,0,0)的反色是青色(0,1.0,1.0).在OPENGL ES中为1. 通过导入GPUImage库的GPUImageColorInvertFilter来实现iOS的图像反色处理 1 ( 2 varying highp vec2 textureCoordinate; 3 4 uniform sampler2D inputImageTexture; 5 6 void main(

反色效果函数

// 反色效果函数 public static Bitmap chageToInvert(Bitmap bitmap) { int width = bitmap.getWidth(); int height = bitmap.getHeight(); int colorArray[] = new int[width * height]; int r, g, b, index; bitmap.getPixels(colorArray, 0, width, 0, 0, width, height);

微信图片反防盗链的方法

微信图片反防盗链的方法(此图片来自微信公众平台,未经允许不可饮用) (未找到出处,如有侵犯,请及时告知,谢谢) 因为在<img>标签中引用微信的图片 <?php $img = "http://mmbiz.qpic.cn/mmbiz /ibbmVK4uC7iacR4KGWnyJHvQxl276DK6eGibiafBFTLObjBtKU9hGZoiaaiaD49r4u9otkQzCGAPAbWlPVzrpyCRaCVA/0"; ?> <img src=&quo

opencv二值图反色处理

反色处理指的是:如果原先图像的背景是白色,而目标是黑色的话:经过反色处理后,背景变为白色,目标变为黑色. 在opencv中,对于二值图的反色处理有两种方法: 之前处理好的二值图的定义为:Mat  binaryImg; 1.直接使用opencv中的函数: //! inverts each bit of array (dst = ~src) CV_EXPORTS_W void bitwise_not(InputArray src, OutputArray dst, InputArray mask=n