Python 在图片中创建同心圆
我试图在图片上覆盖两个不同半径的同心圆。我遇到的问题是,在第一个圆圈之后,下面的圆圈不会出现。我假设该算法将按照它们被写入的顺序执行函数,这将覆盖红色圆圈上的白色圆圈,但事实并非如此。设置X和Y值时,无论图片的尺寸如何,外圈都会接触到较长边的边缘Python 在图片中创建同心圆,python,Python,我试图在图片上覆盖两个不同半径的同心圆。我遇到的问题是,在第一个圆圈之后,下面的圆圈不会出现。我假设该算法将按照它们被写入的顺序执行函数,这将覆盖红色圆圈上的白色圆圈,但事实并非如此。设置X和Y值时,无论图片的尺寸如何,外圈都会接触到较长边的边缘 def concentricCircles(pic): X = getWidth(pic) Y = getHeight(pic) if(X >= Y): addOvalFilled(pic,(X/2) - (Y/2),0, 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语句,还是在同一个if语句中组合addOvalFilled函数?在应用同心圆之前,将图像复制到画布上是否更可行?如果是这样的话,在这种情况下,我该怎么做呢
谢谢。您实际使用什么库来绘制圆圈?你至少画了一个圆吗?是的,我得到了第一个大圆,但是下一个圆没有显示第一个圆的2/3大小。如果你先强制转换为整数会发生什么?你指的是整数吗?因为我在这里引用像素,所以我不认为将值更改为整数是有效的。试一试没有问题吗?