这是我的代码:
pixel = pixels[pixel_position * pixel_byte_width :(pixel_position + 1) * pixel_byte_width]
r = pixel[0]
g = pixel[1]
b = pixel[2]
这是错误:
line 25, in wr
g = pixel[1]
IndexError: array index out of range
现在让我说我按照我的代码执行此操作:
pixel = pixels[pixel_position * pixel_byte_width :(pixel_position + 1) * pixel_byte_width]
print(pixel)
r = pixel[0]
g = pixel[1]
b = pixel[2]
打印像素,但最终减慢了代码...发生了什么?打印后没有错误,它打印完整的东西。做len(pixel)
始终打印3.任何想法?谢谢!
编辑: 我正在使用python 3 +
答案 0 :(得分:0)
我不确定array
对象如何需要索引,但您可以通过直接从数组中解压缩值来避免索引:
r, g, b = pixel
如果它确实包含三个元素,那么您一定要确保您的值没有任何错误。