The code depends on how you want the gradient to look. You can make it a rectangular gradient that looks like this:

:

:
import Image
import math
imgsize = (250, 250)
image = Image.new('RGB', imgsize)
innerColor = [80, 80, 255]
outerColor = [0, 0, 80]
for y in range(imgsize[1]):
for x in range(imgsize[0]):
distanceToCenter = math.sqrt((x - imgsize[0]/2) ** 2 + (y - imgsize[1]/2) ** 2)
distanceToCenter = float(distanceToCenter) / (math.sqrt(2) * imgsize[0]/2)
r = outerColor[0] * distanceToCenter + innerColor[0] * (1 - distanceToCenter)
g = outerColor[1] * distanceToCenter + innerColor[1] * (1 - distanceToCenter)
b = outerColor[2] * distanceToCenter + innerColor[2] * (1 - distanceToCenter)
image.putpixel((x, y), (int(r), int(g), int(b)))
image.save('circlegradient.jpg')
, - innerColor outerColor .
:
import Image
imgsize = (250, 250)
image = Image.new('RGB', imgsize)
innerColor = [80, 80, 255]
outerColor = [0, 0, 80]
for y in range(imgsize[1]):
for x in range(imgsize[0]):
distanceToEdge = min(abs(x - imgsize[0]), x, abs(y - imgsize[1]), y)
distanceToEdge = float(distanceToEdge) / (imgsize[0]/2)
r = innerColor[0] * distanceToEdge + outerColor[0] * (1 - distanceToEdge)
g = innerColor[1] * distanceToEdge + outerColor[1] * (1 - distanceToEdge)
b = innerColor[2] * distanceToEdge + outerColor[2] * (1 - distanceToEdge)
image.putpixel((x, y), (int(r), int(g), int(b)))
image.save('rectgradient.jpg')
, , , .