teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

中途半端な説明を修正

2020/05/10 10:05

投稿

shiracamus
shiracamus

スコア5406

answer CHANGED
@@ -1,4 +1,4 @@
1
1
  関数内の imageData 変数は、関数内のローカル変数で、関数を終了すると変数が破棄されて、読み込んだ画像データも消滅します。
2
2
  関数外で変数に代入た場合はグローバル変数で、プログラムが終了するまで変数もデータも残っているので表示できます。
3
3
 
4
- PIL.ImageTk.PhotoImage(newImage) でデータをコピーしていれば問題ないのですが、PhotoImageの中データをコピーしりオブジェクトへ参照を残したりしていないため、
4
+ PIL.ImageTk.PhotoImage(newImage) の中でデータをコピーしていれば問題ないのですが、PhotoImageはC言語実装されプログラムで、Python側変数との連携がうまく実装されていないのだと思います。