【问题标题】:Using Python 3.4 and Pillow and the method transform: AttributeError: Image使用 Python 3.4 和 Pillow 以及方法 transform: AttributeError: Image
【发布时间】:2015-12-14 10:16:17
【问题描述】:

我已尝试使以下脚本正常运行:

def tftest():
    from PIL import Image
    picture = "ttamet3dim.png"
    impict = Image.open(picture)
    transf = impict.Image.transform((78,78), Image.QUAD, (78,41,178,27,183,91,81,91), Image.BICUBIC)
    imt = Image.open(transf)
    imt.show()

但我收到以下错误:

File "C:\Python34\tftest.py", line 5, in tftest
    transf = impict.Image.transform(...)
File "C:\Python34\lib\site-packages\pillow-3.0.0-py3.4-win32.egg\PIL\Image.py", line 626, in __getattr__
AttributeError: Image

这是我第一次使用"transform"。我想看看"transform" 脚本,看看我是否能找出问题所在,但我的Pillow.egg,所以我没有找到如何访问代码。你知道我为什么会收到这个错误以及如何解决它吗? 谢谢你,最好的问候

【问题讨论】:

    标签: python transform pillow


    【解决方案1】:

    transformImage 对象的方法,并返回一个新图像:

    from PIL import Image
    
    def tftest():
        picture = "ttamet3dim.png"
        impict = Image.open(picture)
        imt = impict.transform((78,78), Image.QUAD, (78,41,178,27,183,91,81,91), Image.BICUBIC)
        imt.show()
    

    【讨论】:

      【解决方案2】:

      尝试将transf = impict.Image.transform改为transf = impict.transform

      【讨论】:

        【解决方案3】:

        您已在此处将Image 分配给impict 变量:

        impict = Image.open(picture)
        

        你应该引用这个变量,即打开的图像,带有变换:

        impict.transform
        

        而不是你目前正在做的事情(基本上是Image.open(picture).Image.transform)。

        【讨论】:

        • 谢谢。它正在工作,但“转换”的工作方式与我在文档中可以找到的方式不同。就像一切都相反:通常我应该逆时针给出 4 个角,但我必须顺时针给出;通常我先给出行,然后给出列,这是相反的。我最后得到的图像是一个大小正确的矩形,但它也是轴对称的。为什么它也是轴对称的?我认为“转换”应该只将四边形更改为具有给定大小的矩形。
        • Stackoverflow 是一种问答格式 - 打开另一个问题,说明您现在遇到的问题,有人可能会过来帮助您。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-09-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多