相关疑难解决方法(0)

使用线条粗细在Python PIL中绘制椭圆

我正在尝试使用Python在图像上绘制一个圆圈.我尝试使用PIL,但我想指定一个linewidth.目前,PIL绘制一个圆圈,但边界太薄.

这就是我所做的.

对于测试图像:我在MS Paint中创建了一个1632 X 1200图像并将其填充为绿色.我叫它test_1.jpg.这是输入文件: 输入

from PIL import Image, ImageDraw

im = Image.open('test_1.jpg')

width, height = im.size
eX, eY = 816,816 #Size of Bounding Box for ellipse

bbox =  (width/2 - eX/2, height/2 - eY/2, width/2 + eX/2, height/2 + eY/2)

draw = ImageDraw.Draw(im)
bbox_L = []
for j in range(0,5):
    bbox_L.append([element+j for element in bbox])
    draw.ellipse(tuple(bbox_L[j]), outline ='white')

im.show()
Run Code Online (Sandbox Code Playgroud)

基本上,我试图绘制多个圆圈,这些圆圈将在同一个点上居中但具有不同的半径.我的想法是,这会产生更粗的线条效果.

但是,这会产生下面附件中显示的输出: 产量

问题:正如您所看到的,左下角和右上角太薄了.此外,各个圆圈之间也存在间隙(参见左上角和右下角).

圆圈的厚度各不相同.我正在寻找一个厚度均匀的圆圈.

问题: 有没有办法在Python上绘制一个圆圈,在像test_1.jpg这样的图像上,使用PIL,NumPy等来指定线条厚度?

python python-imaging-library python-2.7

12
推荐指数
2
解决办法
6544
查看次数