Почему Photoimage работает медленно?

При манипулировании объектами фотоизображения с помощью:

import tkinter as tk img = tk.PhotoImage(file="myFile.gif") for x in range(0,1000): for y in range(0,1000): img.put("{red}", (x, y)) 

операция ввода занимает очень много времени. Есть ли более быстрый способ сделать это?

2 Solutions collect form web for “Почему Photoimage работает медленно?”

Используйте ограничительную рамку:

 from Tkinter import * root = Tk() label = Label(root) label.pack() img = PhotoImage(width=300,height=300) data = ("{red red red red blue blue blue blue}") img.put(data, to=(20,20,280,280)) label.config(image=img) root.mainloop() 

Попробуйте построить 2d-массив цветов и вызовите put с этим массивом в качестве параметра.

Как это:

 import tkinter as tk img = tk.PhotoImage(file="myFile.gif") # "#%02x%02x%02x" % (255,0,0) means 'red' line = '{' + ' '.join(["#%02x%02x%02x" % (255,0,0)] * 1000) + '}' img.put(' '.join([line] * 1000)) 
Interesting Posts
Python - лучший язык программирования в мире.