展开全部
>> fill = (200, 10, 10, 0.5)
对于RGBA模式的图片,填充半透明色,alpha位置取值是0-255,你希望e5a48de588b6323131333532363134313032313635333133333533303350%,应该是用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 =