python看什么书
你想这看什么书的话,你可以看一下您的导师能力,有什么推荐的,或者职务上面问一下大神的呢?
python turtle我想用五种颜色画五个圆,并且用画圆周的颜色填充,老是出问题,怎么回事,怎么修改?
from turtle import *
colors = ['red', 'blue', 'green', 'yellow', 'orange', 'purple']
def circle():
for i in range(36):
forward(20)
left(10)
for i in colors:
color(i)
begin_fill()
circle()
end_fill()
left(60)
python的pillow用ImageDraw.Draw.polygon如何填充半透明的颜色
>> fill = (200, 10, 10, 0.5)
对于RGBA的图片,填充半透明色,alpha位置是0-255,你希望50%,应用128,不是0。5
>> 我这了一个比如三角形,准备再画一个三角形,也是半透明的,那么这两个颜色是可以混合起来的吧?
直接在同一个Image上绘图是不行的。后面画的会直接覆盖前面的,颜色不会自动融合。如果想要融合的效果,需要用Image.blend(im1, im2, 0.5)或者Image.composite(im1, im2, mask)其中mask需要带alpha参数,可以设置为128.#!/usr/bin/env python2
# coding=utf-8
"""
draw shapes and fill shap with transparent color and overlap them.
"""
from PIL import Image, ImageDraw
def main():
im = Image.new("RGBA", (800, 800))
draw = ImageDraw.Draw(im)
draw.rectangle((0, 0, 200, 200), fill=(255, 0, 0, 128))
draw.rectangle((400, 400, 600, 600), fill=(255, 0, 0))
im2 = Image.new("RGBA", (800, 800))
draw2 = ImageDraw.Draw(im2)
draw2.rectangle((100, 100, 300, 300), fill=(0, 255, 0, 128))
draw2.rectangle((500, 500, 700, 700), fill=(0, 255, 0))
# merge two images using blend
blend = Image.blend(im, im2, 0.5)
# drawf = ImageDraw.Draw(blend)
# drawf.rectangle((500, 100, 600, 200), fill=(255, 0, 0))
# drawf.rectangle((600, 200, 700, 300), fill=(0, 255, 0))
blend.save("/home/sylecn/d/blend.png")
# merge two images using composite
ones = Image.new("RGBA", (800, 800))
_draw = ImageDraw.Draw(ones)
_draw.rectangle((0, 0, 800, 800), fill=(255, 255, 255, 128))
final = Image.composite(im, im2, ones)
final.save("/home/sylecn/d/composite.png")
if __name__ == '__main__':
main()
版权声明:本站所有文章皆为原创,欢迎转载或转发,请保留网站地址和作者信息。