2016-10-19 14 views
-1

PILでサイズ変更されたイメージをtkinter.PhotoImageオブジェクトに配置しようとしています。私は後でPIL.ImageTkを使用してtkinter.PhotoImageオブジェクトを作成するときのAttributeError

photoimg.put("#000000", (0,0)) 

を呼び出すしようとすると、

import tkinter as tk # I use Python3 
from PIL import Image, ImageTk 

master = tk.Tk() 
img =Image.open(file_name) 
image_resized=img.resize((200,200)) 
photoimg=ImageTk.PhotoImage(image_resized) 

しかし、私はこのながら

AttributError: 'PhotoImage' object has no attribute 'put' 

を得る:

photoimg=tk.PhotoImage(file=file_name) 
photoimg.put("#000000", (0,0)) 

はエラーは発生しません。 私は何が間違っていますか? http://pillow.readthedocs.io/en/3.1.x/reference/ImageTk.html#PIL.ImageTk.PhotoImage あなたはそれには、putメソッドはありません見ることができるように: PIL.ImageTk.PhotoImageのように

+2

を見ていましたか?それらは同じ 'PhotoImage'クラスではありません。彼らは同じ実装を持っていません。どのクラスを使用するか決定し、そのクラスの実装方法に基づいて目標を達成する必要があります。 – idjaw

+0

ああ、ありがとう、これはそれを説明する。 'ImageTk.Photoimage'オブジェクトを' tkinter.Photoimage'オブジェクトに変換する方法はありますか、またはPIL画像を先に保存してからファイル名を使ってtkinter.PhotoImageにロードする必要がありますか? – user7043649

+0

私はこれらのモジュールのどちらも使用していません。私は単にそれぞれのコードを見て、それらが異なっていたのを見ました。あなたのオプションが何であるかを見るには、ドキュメントを参照する必要があります。ちょうど投稿された答えを見てください。提供される情報があります。 – idjaw

答えて

関連する問題