在php中,我现在要将用户上传的 彩色的图片 转换成 黑白的图片,请问该怎么去处理 啊?

解决方案 »

  1.   

    把图片从二进制读成RGB值的格式,然后把RGB值都设为灰色,出来就是黑白照片了
      

  2.   


    $im = ImageCreateFromPng("rockym.png");
    $rgb = ImageColorAt($im, 100, 100);//100,100
    $r = ($rgb >> 16) & 0xFF;
    $g = ($rgb >> 8) & 0xFF;
    $b = $rgb & 0xFF;php获取图片上一个点的rgb值,alpha值不用去管,你可以根据高宽循环下,然后再写成图片,手头没现成的,你自己写个吧.
      

  3.   

    搜索Image Magic,这个我不会用,但知道它可以解决你的问题
      

  4.   

    看来好麻烦如果只是简单的视觉效果尝试用CSS滤镜好了
      

  5.   

    存的 时候直接存彩色的 然后读取的用css 不就可以吗 不用php吧 不知道能满足您要求不?
    比如:<style>
    img{filter:gray();}
    </style>
      

  6.   

    那些说麻烦的那是没写过
    其实不到40行代码就可以搞定使用5楼的方法取得像素rgb另外使用的函数有
    imagecolorallocate
    imagesetpixel方法有3种
    最大值法:rgb中的最大值
    平均值法:rgb的平均数
    加权平均值法:如0.3 × r + 0.6 × g + 0.1 × b  只要权值相加=1就可以