首页 > 解决方案 > TypeError:“图像”对象不可下标

问题描述

尝试创建高度图,但不断收到 TypeError 说 Image 对象不可下标。不知道为什么。

pixels = Image.new('RGB', (1789, 1789), color = 'red')
    for i in range(pixels.size[0]): 
        for j in range(pixels.size[1]):
            if pixels[i,j] != (255, 0, 0):
                pixels[i,j] = (0, 0 ,0)


标签: pythonpython-imaging-library

解决方案


要获得单个像素,请使用pixels.getpixel((i,j)). 请注意,这是访问图像的一种非常慢的方法。通常最好使用tobytes转换为字节列表,然后再将frombytes其转换回来。

当然,你的例子很愚蠢。每个像素都是 (255,0,0)。


推荐阅读