3

クリップボードから画像を取得しようとしていますが、その画像を python-pptx に追加したいと考えています。イメージをディスクに保存したくありません。私はこれを試しました:

from pptx import Presentation
from PIL import ImageGrab,Image
from pptx.util import Inches
im = ImageGrab.grabclipboard()
prs = Presentation()
title_slide_layout = prs.slide_layouts[0]
slide = prs.slides.add_slide(title_slide_layout)
left = top = Inches(1)
pic = slide.shapes.add_picture(im, left, top)
prs.save('PPT.pptx')

しかし、このエラーを取得する

File "C:\Python27\lib\site-packages\PIL\Image.py", line 627, in __getattr__
    raise AttributeError(name)
AttributeError: read

これの何が問題なのですか?

4

3 に答える 3

1

イメージは、ストリーム (つまり、論理ファイル) オブジェクトの形式である必要があります。したがって、最初にメモリファイルに「保存」する必要があります。おそらく StringIO が探しているものです。

この他の質問は、詳細の一部を提供します。

于 2016-09-12T23:03:35.473 に答える