我正在寻找一条命令,使用PIL在现有图像上绘制一个圆。
im = Image.open(path)
我想要一个函数,可以绘制一个半径为r
、中心坐标为(x,y)
的彩色圆形。
我正在寻找一条命令,使用PIL在现有图像上绘制一个圆。
im = Image.open(path)
我想要一个函数,可以绘制一个半径为r
、中心坐标为(x,y)
的彩色圆形。
image = Image.open("x.png")
draw = ImageDraw.Draw(image)
leftUpPoint = (x-r, y-r)
rightDownPoint = (x+r, y+r)
twoPointList = [leftUpPoint, rightDownPoint]
draw.ellipse(twoPointList, fill=(255,0,0,255))
请参考官方文档:PIL.ImageDraw.ImageDraw.ellipse(xy, fill=None, outline=None, width=0)
image = Image.open("x.png")
draw = ImageDraw.Draw(image)
draw.ellipse((x-r, y-r, x+r, y+r), fill=(255,0,0,0))
使用这种方式我无法使其半透明,它始终是不透明的。
这个问题可以通过以下解决方案来解决: 如何在Python中绘制透明多边形?
image = Image.open("x.png")
draw = ImageDraw.Draw(image)
draw.ellipse((x-r, y-r, x+r, y+r), fill=(255,0,0,0))
使用这种方法我无法使它半透明,它总是不透明的。
ellipse()
接受一个边界框(即两组 X/Y 坐标),而不是一组 X/Y 坐标和一对直径。 - kindall