Установка значения оттенка серого для пикселя в php - PullRequest
1 голос
/ 24 июня 2011

У меня есть ресурс изображения JPEG, загруженный в переменную в php. Учитывая значение в градациях серого, например, 6, как я могу установить один конкретный пиксель для этого значения в градациях серого? Мой клиент очень ясно дал понять, что между оттенками серого и rgb есть большая разница.

Это вообще выполнимо в php с библиотекой GD? Если да, то как?

Примечание. Сценарий действительно отображает изображение в градациях серого, но использует неясный алгоритм. Мой сценарий получает RGB для каждого пикселя и получает значение в градациях серого, соответствующее алгоритму. Теперь нужно просто преобразовать этот пиксель в конкретное значение оттенков серого.

Ответы [ 2 ]

2 голосов
/ 24 июня 2011

Возможно, вам пригодится функция 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);
    }
}
0 голосов
/ 24 июня 2011

У вас есть доступ к терминалу или что-то в этом духе для установки Image Magick.Если это так, то вы можете использовать следующее

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

Я не уверен, как это сделать с библиотекой PHP GD извините.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...