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: n...@netfront.net --- -- https://mail.python.org/mailman/listinfo/python-list