PIL以红标而非灰度写入像素

2024-09-28 22:15:12 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用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


Tags: 图像imagenewpil图片rgb像素灰度