Python 创建图像缩略图失败,TypeError:';int';对象不可下标
我正在尝试使用PIL模块创建背景对象,但有一个错误我不理解。守则:Python 创建图像缩略图失败,TypeError:';int';对象不可下标,python,python-imaging-library,Python,Python Imaging Library,我正在尝试使用PIL模块创建背景对象,但有一个错误我不理解。守则: from PIL import Image class background(): def __init__(self, width, height, value): img = Image.open('new.png') img_new = img.thumbnail(width, height) for x in range(width): fo
from PIL import Image
class background():
def __init__(self, width, height, value):
img = Image.open('new.png')
img_new = img.thumbnail(width, height)
for x in range(width):
for y in range(height):
img_new.putpixel(x, y, value)
img_new.show()
bg = background(200, 200, 1)
错误:
Traceback (most recent call last):
File "...\filename.py", line 11, in <module>
bg = background(200, 200, 1)
File "...\filename.py", line 5, in __init__.py
img_new = img.thumbnail(width, height)
File "...\Python38-32\lib\site-packages\PIL\Image.py", line 2205, in thumbnail
if x > size[0]:
TypeError: 'int' object is not subscriptable
或
bg=background(800800,(0))
但不是
bg=background(800,800,(255,255,255))
或数值的任何变化
守则:
from PIL import Image
class background():
def __init__(self, width, height, value):
img = Image.open('new.png')
img_new = img.thumbnail(width, height)
for x in range(width):
for y in range(height):
img_new.putpixel(x, y, value)
img_new.show()
bg = background(200, 200, 1)
from PIL import Image
class background():
def __init__(self, width, height, value):
img = Image.new('I', (width, height))
for x in range(width):
for y in range(height):
img.putpixel((x, y), value)
img.show()
错误:
SystemError:返回NULL而不设置错误
需要一个size
参数,它是宽度和高度的元组:
img.thumbnail((width, height))
或者,也许更清楚:
size = (width, height)
img.thumbnail(size)
该方法还接受第二个参数,resample
;您为大小输入了width
,为resample
参数输入了height
。通过输入width
作为大小,您将得到错误。当该方法尝试为宽度
值(应为元组)编制索引时,将抛出异常,因为无法为整数编制索引
调用时出现类似错误,位置也是一个元组:
img_new.putpixel((x, y), value)
请注意,您确实不需要打开现有映像。如果您想创建一个统一颜色的空图像,只需使用
你需要在这里;假设您的值
是我选择的单个整数值,其中像素由32位有符号整数表示。上面创建的图像大小正确,所有像素都设置为值,需要一个大小
参数,它是宽度和高度的元组:
img.thumbnail((width, height))
或者,也许更清楚:
size = (width, height)
img.thumbnail(size)
该方法还接受第二个参数,resample
;您为大小输入了width
,为resample
参数输入了height
。通过输入width
作为大小,您将得到错误。当该方法尝试为宽度
值(应为元组)编制索引时,将抛出异常,因为无法为整数编制索引
调用时出现类似错误,位置也是一个元组:
img_new.putpixel((x, y), value)
请注意,您确实不需要打开现有映像。如果您想创建一个统一颜色的空图像,只需使用
你需要在这里;假设您的值
是我选择的单个整数值,其中像素由32位有符号整数表示。上面创建的图像大小正确,所有像素都设置为值
您的错误和标题不匹配。更完整的堆栈跟踪会有所帮助。缩略图
有一个大小参数。它希望宽度和高度以类似于(宽度,高度)
的方式传递。您的错误和标题不匹配。更完整的堆栈跟踪会有所帮助。缩略图
有一个大小参数。它期望宽度和高度像(宽度,高度)
一样传递。