我从Image
的{{1}}模块创建了一个使用一些方法/函数(我不知道该怎么称呼它们)的类。在此代码中,我要求用户输入要调整大小的图像的新高度。因为如果出现错误,我希望用户再次输入它,我将它放在PIL library
循环中。
我最初尝试接受一个元组,然后将其解压缩到new_height和new_width变量中,但我认为它可能会让用户感到困惑。
请假设已完成所有进口。
while
class ImageManip:
def __init__(self):
self.img_width, self.img_height = self.img.size
self.img_resize()
def img_resize(self):
while True:
clear()
try:
img_new_width = input(
'\n\nYour image\'s dimensions are:' +
'\nWidth: ' + self.img_width +
'\nHeight: ' + self.img_height +
'\n\nEnter the width: '
)
img_new_height = input(
'Enter the height: '
)
except TypeError:
print('Oh no! You didn\'t enter a number! Try again.')
time.sleep(2)
print('\n\n', end='')
continue
else:
self.img_final = self.img.thumbnail((img_new_width, img_new_height), Image.ANTIALIAS)
self.img_final.show()
break
答案 0 :(得分:3)
input()
。 self.img_height
和self.img_width
是代码中的整数。
如果你在这些上调用str()
将它们转换为字符串,它应该可以工作:
img_new_width = input(
'\n\nYour image\'s dimensions are:' +
'\nWidth: ' + str(self.img_width) +
'\nHeight: ' + str(self.img_height) +
'\n\nEnter the width: '
)
您可能希望使用int()
将输入转换为整数:
img_new_width = int(input(
...
)