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