在研究了一些代码,看了文档和一些源代码之后,我很确定,最有可能arc
,chord
,{{3 }},它们全部在后台共享相同的代码。
我创建了以下示例:
from matplotlib import pyplot as plt
from PIL import Image,ImageDraw
def example(outline_alpha=None,width=None):
if outline_alpha is None:
outline = None
else:
outline = (255,255,outline_alpha)
if width is None:
width = 0
img = Image.new('RGB',(100,100),(255,255))
drw = ImageDraw.Draw(img,'RGBA')
drw.line([(0,40),40)],(0,255))
drw.line([(50,0)],255))
drw.polygon([(50,0),128),outline)
drw.ellipse([(40,(90,90)],outline,width)
return img
plt.figure(1,figsize=(15,10))
plt.subplot(2,3,1),plt.imshow(example()),plt.title('No outlines specified,width = 0')
plt.subplot(2,2),plt.imshow(example(255)),plt.title('Opaque outlines specified,3),plt.imshow(example(128)),plt.title('Semi-transparent outlines specified,4),plt.imshow(example(None,5)),width = 5')
plt.subplot(2,5),plt.imshow(example(255,6),plt.imshow(example(20,width = 5')
plt.tight_layout()
plt.show()
输出如下:
ellipse
查看多边形,如果未指定轮廓(左上图),我们将看到黑线可见,这是多边形的边界之一。指定不透明轮廓(顶部中央图像)后,黑线将不再可见。设置一个半透明的轮廓(右上图)显示该轮廓与多边形的边界相同。
现在,对于椭圆是相同的:如果未设置轮廓(左上),则仍显示轮廓,该轮廓很可能与fill
参数使用相同的颜色,但未包含alpha值。设置不透明轮廓(位于顶部中心)会“覆盖”意外存在的轮廓,但是当设置半透明轮廓时,我们看到意外轮廓仍然存在。
在width > 1
中设置ellipse
时,这种效果变得更加明显,请参阅最下面一行。意外的轮廓似乎仍然具有width = 1
,而显式设置的轮廓具有width = 5
。
再次,我非常确定,这种行为不是故意的–我将在其GitHub问题跟踪器中打开一个问题。 编辑:我刚刚打开。
希望有所帮助–某种方式...
本文链接:https://www.f2er.com/2905577.html