2.7.9: PhotoImage get/put
Randy Day
randy.day at sasktel.netx
Tue Oct 20 18:05:40 EDT 2015
I'm writing a simple image manipulation
on a PhotoImage (tkinter), and running
into an odd problem. The code below works,
except for one thing:
As the image is scanned, I'd like to
observe the pixels getting inverted on
the image (as a kind of progress bar).
What happens is that the code runs the
complete loop before refreshing the
photo. I've tried various forms of
refresh(), update(), etc., within the
loop, but so far no luck. Am I
missing something simple?
def process(): # Ordinarily this would be process(photo,wdth,hgt)
global wdth # but I ran into problems calling it from a button
global hgt #command with parameters...
global photo # the PhotoImage displayed by the calling code
# indents set to 1 to avoid word wrap
# Loop through rows and columns of the image
v=wdth
z=0
a=-1
for y in range (0,hgt):
w=v
v=z # swap v and z so rows are scanned l/r r/l l/r
z=w
a=-a # set our inc/dec step for lr->rl scan
for x in range(v,z,a):
pix = photo.get(x,y) if pix == u'0 0 0' :
#pixel_turn_on()
photo.put("#%02x%02x%02x" % (255,255,255), (x,y))
else:
#pixel_turn_off()
photo.put("#%02x%02x%02x" % (0,0,0), (x,y))
--- news://freenews.netfront.net/ - complaints: news at netfront.net ---
More information about the Python-list
mailing list