Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在图片中创建同心圆_Python - Fatal编程技术网

Python 在图片中创建同心圆

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

我试图在图片上覆盖两个不同半径的同心圆。我遇到的问题是,在第一个圆圈之后,下面的圆圈不会出现。我假设该算法将按照它们被写入的顺序执行函数,这将覆盖红色圆圈上的白色圆圈,但事实并非如此。设置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语句,还是在同一个if语句中组合addOvalFilled函数?在应用同心圆之前,将图像复制到画布上是否更可行?如果是这样的话,在这种情况下,我该怎么做呢


谢谢。

您实际使用什么库来绘制圆圈?你至少画了一个圆吗?是的,我得到了第一个大圆,但是下一个圆没有显示第一个圆的2/3大小。如果你先强制转换为整数会发生什么?你指的是整数吗?因为我在这里引用像素,所以我不认为将值更改为整数是有效的。试一试没有问题吗?