我想绘制600x600图像,同时循环每个像素以绘制四分之一圆(半径为pi)。 我如何根据相应的坐标(x,y)是否落在单位圆的内部或外部来对每个像素(xp,yp)进行不同的颜色着色:x2 + y2 = 1,就像在我放置if语句时一样,我的条件是什么使用?
我正试图制作一个四分之一圆形的广场 这就是我到目前为止所做的:
from PIL import Image
img=Image.new('RGB',(600,600),(0,0,255))
yp = 0
while yp < 600:
xp = 0
while xp < 600:
img.putpixel((xp,yp),(0,255,0))
xp += 1
yp += 1
答案 0 :(得分:0)
你跟我们说说两个半径,比如响 - 对吧?
您需要使用比例乘数将半径为Pi的圆拟合到整个矩形
Scale = 600 / Pi
并在循环内检查条件:
if (xp * xp + yp * yp) < Scale * Scale: #inside R=1 circle
color = InnerColorConst
elif (xp * xp + yp * yp) < Scale * Scale * Pi * Pi: #inside R=Pi circle
color = OuterColorConst
else:
color = BackgroundColorConst # or omit putpixel