在php中设置像素的灰度值

时间:2011-06-24 01:53:53

标签: php grayscale

我有一个jpeg图像资源加载到php中的变量。给定灰度值,如6,如何将单个特定像素设置为该灰度值?我的客户非常清楚灰度和rgb之间存在很大差异。

在使用GD库的php中,这是否可行?如果是这样,怎么样?

注意:脚本确实灰度显示整个图像,但使用的是模糊算法。我的脚本获取每个像素的RGB,并获得与算法对应的灰度值。现在只需要将该像素转换为特定的灰度值。

2 个答案:

答案 0 :(得分:2)

您可能会找到imagesetpixel函数。以下是如何使用它的示例:

// $image = <GD image resource>

for($x = 0; $x < $width; x++)
{
    for($y = 0; $y < $height; $y++)
    {
        $value = specialFunction($rgb_value);
        // Depending on what the above function returns, the call below
        // might have to be changed
        $color = imagecolorallocate($image, $value, $value, $value);
        imagesetpixel($image, $x, $y, $color);
    }
}

答案 1 :(得分:0)

您是否可以访问终端或其他内容以安装Image Magick。如果是这样,那么您可以使用以下

convert image.jpg -colorspace Gray image-bw.jpg

我不确定如何使用PHP GD Library抱歉。