Advertisement
Guest User

Simple python color flatting

a guest
Feb 11th, 2018
216
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 1.11 KB | None | 0 0
  1. #!/usr/bin/python
  2.  
  3. import Image, ImageDraw, ImageColor, random, sys, timeit
  4.  
  5. starttime=timeit.default_timer()
  6.  
  7. im = Image.open(str(sys.argv[1])).convert('RGB')
  8.  
  9. def flood(posx,posy,color):
  10.     ImageDraw.floodfill(im, (posx,posy), color, border=None)
  11.    
  12. def RandomColor():
  13.     hue=random.randint(0,360)
  14.     return ImageColor.getrgb("hsl("+str(hue)+",100%,50%)")
  15.  
  16.            
  17. def getAllPixels(replace):
  18.     dimensions=im.size
  19.    
  20.     for posy in range(dimensions[1]):
  21.         for posx in range(dimensions[0]):
  22.             CheckPixel(posx,posy,replace)
  23.            
  24. def CheckPixel(posx,posy,replace):
  25.     pixelColor=(im.load()[posx,posy])
  26.     if pixelColor==replace:
  27.         if replace==(255,255,255):
  28.             flood(posx,posy,RandomColor())
  29.         else:
  30.             flood(posx,posy,(255,255,255))
  31.     else:
  32.         pass
  33.    
  34. def elapsed():
  35.     return str(int(timeit.default_timer()-starttime))
  36.    
  37.    
  38. getAllPixels((255,255,255))
  39. print("Pass 1 completed in "+elapsed()+" seconds")
  40. getAllPixels((0,0,0))
  41.  
  42. im.save("output.png", "PNG")
  43. print("Script completed in "+elapsed()+" seconds")
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement