PIL записывает пиксели в красном, а не в градациях серого - PullRequest
0 голосов
/ 17 апреля 2020

Я использую PIL, чтобы сделать изображение попиксельным. Я замечаю, что, хотя я указываю различные оттенки серого для моего ввода, выходное изображение всегда имеет различные оттенки красного. Например, я бы предположил, что следующее:

im = Image.new("RGB", (100, 100), "black")
im.putpixel((1,9), ImageColor.getcolor('rgb(255,255,255)', '1'))
im.putpixel((1,1), ImageColor.getcolor('rgb(55,55,55)', '1'))
im.save('test.png')

создаст один серый пиксель и один белый пиксель, однако это создаст два красных пикселя, причем «серый» пиксель будет более темного оттенка красного (см. ниже). Почему это происходит и как я могу получить ожидаемый вывод серо-белого пикселя.

Two red pixels, rather than a gray and white pixel

1 Ответ

1 голос
/ 17 апреля 2020

Это работает для меня:

im = Image.new("RGB",(100,100))
im.putpixel((1,9), (255,255,255))
im.putpixel((1,1), (55,55,55))
im.save("test.png")

Полученное изображение:

...