首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复AttributeError:“图像”对象没有属性“查找”。你是说“种子”吗?

如何修复AttributeError:“图像”对象没有属性“查找”。你是说“种子”吗?
EN

Stack Overflow用户
提问于 2021-12-09 07:31:38
回答 1查看 735关注 0票数 0

我正在尝试使用python创建pptx或powerpoint文件,并使用python和库读取图像,但是得到了像AttributeError这样的错误:‘’对象没有属性‘’。你是说“种子”吗?

注意:所有文件都在同一个文件夹中,以“watermarked_”开头

代码语言:javascript
复制
from io import FileIO
import os
from wand.image import Image
from pptx.util import Inches 
from pptx import Presentation 

def create_slide()->FileIO:
    # Creating presentation object
    root = Presentation()
    for file in os.listdir():
        if file.startswith('watermarked_'):
            # Creating slide layout
            first_slide_layout = root.slide_layouts[1] 
            slide = root.slides.add_slide(first_slide_layout)
            shapes = slide.shapes
            
            #Adding title or heading to the slide
            title_shape = shapes.title
            title_shape.text = f" Created By python-pptx for Watermarking "
            
            #Adding sub-title with border to the slide
            body_shape = shapes.placeholders[1]
            tf = body_shape.text_frame
            tf.text = f"This is a watermarked image of {file}"
                
            with Image(filename = file) as watermarked_image:
                
                #Maintianing the aspect ratio of the image
                width, height = watermarked_image.size
                ratio = height/width
                new_width = width / 2
                new_height = int(new_width * ratio)
                watermarked_image.resize(int(new_width), new_height)
                
                # Add the watermarked image to the slide
                slide.shapes.add_picture(watermarked_image ,Inches(1), Inches(3))
                root.save("Output.pptx")

create_slide()
代码语言:javascript
复制
Traceback (most recent call last):
  File "/Users/quantum/Desktop/image/project.py", line 60, in <module>
quantum@MacBook-Air image % python -u "/Users/quantum/Desktop/image/project.py"
Traceback (most recent call last):
  File "/Users/quantum/Desktop/image/project.py", line 60, in <module>
    create_slide()
  File "/Users/quantum/Desktop/image/project.py", line 57, in create_slide
    slide.shapes.add_picture(watermarked_image ,Inches(1), Inches(3))
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pptx/shapes/shapetree.py", line 332, in add_picture
    image_part, rId = self.part.get_or_add_image_part(image_file)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pptx/parts/slide.py", line 39, in get_or_add_image_part
    image_part = self._package.get_or_add_image_part(image_file)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pptx/package.py", line 36, in get_or_add_image_part
    return self._image_parts.get_or_add_image_part(image_file)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pptx/package.py", line 151, in get_or_add_image_part
    image = Image.from_file(image_file)
  File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/site-packages/pptx/parts/image.py", line 168, in from_file
    if callable(getattr(image_file, "seek")):
AttributeError: 'Image' object has no attribute 'seek'. Did you mean: 'seed'?

任何频繁的帮助都将不胜感激。

EN

Stack Overflow用户

发布于 2021-12-09 07:52:31

wand.image.Image对象不是Shapes.add_picture()的有效参数。该调用的第一个参数需要是指向图像文件或包含图像的类文件对象的str路径。

我想这意味着您需要将修改后的映像保存为JPG或PNG或其他什么,然后提供文件名。您还可以将其保存到BytesIO对象,并将其传递给.add_picture(),因为这将算作一个类似文件的对象,而不需要使用文件系统。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70286125

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档