from PIL import Image from math import * im = Image.open("BarredRock.jpg") width, height = im.size newim = Image.new("RGB", im.size) newpix = newim.load() pix = im.load() print pix[500, 500] for i in range(width): for j in range(height): r,g,b = pix[i,j] radius = sqrt(pow(width/2 - i, 2) + pow(height/2 - j, 2)) spot_radius = 300 if(radius < spot_radius): pix[i,j] = (r, g, b) else: brightness = 1 - ((radius-spot_radius) / spot_radius) if(brightness < 0): brightness = 0 pix[i, j] = tuple([int(d * brightness) for d in [r, g, b]]) for i in range(width): for j in range(height): newpix[j,i] = pix[i,j] newim.show()