我试图在图片上叠加2个同心圆(具有不同的半径)。我遇到的问题是,在第一个圈子之后,以下圈子不会显示出来。我假设算法会按照它们所写的顺序执行这些功能,这些功能会将白色圆圈覆盖在红色的圆圈上,但它不会。设置X和Y值,以便无论图片的尺寸如何,外圆都会触及较长边的边缘。
def concentricCircles(pic):
X = getWidth(pic)
Y = getHeight(pic)
if(X >= Y):
addOvalFilled(pic,(X/2) - (Y/2),0, Y, Y, green)
if(X < Y):
addOvalFilled(pic, 0 , (Y/2) - (X/2), X, X, green)
if(X >= Y):
addOvalFilled(pic,((X/2) - (Y/3)),0+(Y/6), 2/3*Y, 2/3*Y, blue)
if(X < Y):
addOvalFilled(pic,((Y/2) - (X/3)),0+(X/6), 2/3*X, 2/3*X, blue)
show(pic)
我是否必须在if语句中建立for循环才能执行我正在寻找的内容?我可以在另一个语句中嵌入if语句,还是在同一个if语句中组合addOvalFilled函数?在应用同心圆之前将图像复制到画布上会更可行吗?如果是这样,在这种情况下我该如何做呢?
感谢。