Python 属性错误:';调整图像大小';对象没有属性';缩略图';

Python 属性错误:';调整图像大小';对象没有属性';缩略图';,python,class,Python,Class,我正在制作一个课程,为图片制作一个更好的“缩略图”。 这些函数工作正常,但在我得到的类中,“object”没有“attribute‘thumbnail’”。我不是一个课堂专家,但也许是一个简短的建议?“开放式”方法效果很好 class ResizeImage: from PIL import Image def newImage(self,dimensiune): NouaPoza = Image.new('RGBA', (dimensiune, dimensiu

我正在制作一个课程,为图片制作一个更好的“缩略图”。 这些函数工作正常,但在我得到的类中,“object”没有“attribute‘thumbnail’”。我不是一个课堂专家,但也许是一个简短的建议?“开放式”方法效果很好

class ResizeImage:
    from PIL import Image
    def newImage(self,dimensiune):
        NouaPoza = Image.new('RGBA', (dimensiune, dimensiune), (255, 255, 255, 0))
        self.thumbnail((dimensiune, dimensiune), Image.ANTIALIAS)
        coordonateCentrare = ((dimensiune - self.size[0]) // 2, (dimensiune - self.size[1]) // 2)
        NouaPoza.paste(self,coordonateCentrare)
        return NouaPoza
    def openVechi(self,fisier_in):
        self = Image.open(fisier_in)
        return self
    def saveNou(self,fisier_out):
        self.save(fisier_out)
if __name__ == '__main__':
    fisier_in = "[...]"
    fisier_out = "[...]"
    poza = ResizeImage()
    poza.openVechi(fisier_in)
    poza.newImage(500)
    poza.saveNou(fisier_out)
提前谢谢你

另外,只使用函数是可以的,比如: def缩略图(poza,尺寸): poza.thumboil((dimensune,dimensune),Image.ANTIALIAS)

编辑 我认为正确的声明是:

class ResizeImage(Image.Image):
    def newImage(self,dimensiune):
        self.thumbnail((dimensiune,dimensiune),Image.ANTIALIAS)
但我得到了以下错误:

文件“C:/Users/claudiu.ivanescu/PycharmProjects/eDX/NewImage.py”,第11行,在NewImage中 self.缩略图((dimensune,dimensune),Image.ANTIALIAS) 文件“C:\Users\claudiu.ivanescu\AppData\Local\Programs\Python\Python36-32\lib\site packages\PIL\Image.py”,第2059行,缩略图 x、 y=自身尺寸
AttributeError:“ResizeImage”对象没有属性“size”

经过一些研究后,我放弃像以前一样创建类。我将所有细节作为对象的属性。所有其他方法我都是在没有参数的情况下访问它们的

有一个新类:

class resizeImage:
    def __init__(self,dimension,fileIn,fileOut)
        [...]
    def createThumbnail(self):
        from PIL import Image
        picture = Image.open(self.fileIn)
        [...]
        thumbnail.save(self.fileOut)
    def delThumbnail(self):
        import os,sys
        os.remove(self.fileOut)
也许会对一些人有用

self.thumbnail((dimensune,dimensune),Image.ANTIALIAS)
正在尝试调用类
ResizeImage
中定义的方法
thumbnail
。但没有这样的方法。