【发布时间】:2011-02-28 03:37:54
【问题描述】:
我正在寻找一个使用 PIL 在现有图像上绘制圆圈的命令。
im = Image.open(path)
我想要一个函数来绘制一个半径为r 和中心为(x,y) 的彩色圆圈
【问题讨论】:
标签: python python-imaging-library
我正在寻找一个使用 PIL 在现有图像上绘制圆圈的命令。
im = Image.open(path)
我想要一个函数来绘制一个半径为r 和中心为(x,y) 的彩色圆圈
【问题讨论】:
标签: python python-imaging-library
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)
【讨论】:
ellipse() 采用边界框(即两组 X/Y 坐标),而不是一组 X/Y 坐标和一对直径。
将ImageDraw.ellipse 与方形bbox(0,0,10,10)一起使用,表示直径为10。
【讨论】:
image = Image.open("x.png")
draw = ImageDraw.Draw(image)
draw.ellipse((x-r, y-r, x+r, y+r), fill=(255,0,0,0))
使用这种方式我无法使其半透明,它总是不透明的
这个问题可以通过这里给出的解决方案来解决: How do you draw transparent polygons with 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))
使用这种方式我无法使其半透明,它总是不透明的
【讨论】: