<p>使用PIL,你可以创建三个灰度层,画圆,并使用它们来创建预期的圆,但在黑色背景上。在</p>
<p><a href="https://i.stack.imgur.com/WSWUV.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/WSWUV.png" alt="enter image description here"/></a></p>
<p>如果你使用倒置的图层,你会得到白色的背景,但有错误的圆圈。在</p>
<p><a href="https://i.stack.imgur.com/zhpkD.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/zhpkD.png" alt="enter image description here"/></a></p>
<p>有了PIL,你甚至可以显示它或保存在文件中。在</p>
<pre><code>from PIL import Image, ImageDraw
def synthese(red=255, green=255, blue=255):
background = 0 # black
# layers in greyscale
layer_R = Image.new('L', (450, 450), background)
layer_G = Image.new('L', (450, 450), background)
layer_B = Image.new('L', (450, 450), background)
# draw circle on red layer
draw_R = ImageDraw.Draw(layer_R)
draw_R.ellipse((10,150,300,440), red)
# draw circle on green layer
draw_G = ImageDraw.Draw(layer_G)
draw_G.ellipse((150,150,440,440), green)
# draw circle on blue layer
draw_B = ImageDraw.Draw(layer_B)
draw_B.ellipse((75,10,375,300), blue)
#layer_R.show()
#layer_G.show()
#layer_B.show()
#layer_R.save('layer_r.png')
#layer_G.save('layer_g.png')
#layer_B.save('layer_b.png')
# create RGB image using greyscale layers
image_RGB = Image.merge('RGB', (layer_R, layer_G, layer_B))
# show it
image_RGB.show()
#image_RGB.save('rgb.png')
synthese(255, 255, 255)
</code></pre>