一、画直线
ImageDraw.line(xy, fill=None, width=0)
xy 为2的整数倍数量的tuple,例如(x0,y0)或者(x0,y0,x1,y1)
fill为填充的颜色 单个色值0-255或RGB的tuple
width为画线的宽度
上代码
from PIL import Image,ImageDraw
im = Image.open("filtertest.jpg").convert("RGB")
#im.show()
draw = ImageDraw.Draw(im)
#tuple len值为2时,默认从0,0点开始计算
#红色
draw.line((0, 0) + im.size, fill=(255,0,0),width=10)
#green
draw.line((0, im.size[1], im.size[0], 0), fill=(0,255,0),width=10)
#blue
draw.line((0, 0,400,400,900,300), fill=(0,0,255),width=10)
im.show()
line的效果图
二、画拱形曲线
ImageDraw.arc(xy, start, end, fill=None,width=0)
xy –定义椭圆box矩形的
[(x0, y0), (x1, y1)]
or
[x0, y0, x1, y1]
,需保证
x1 >= x0
and
y1 >= y0
.
start – 曲线开始画时的角度,0值表示circle的3点钟方向.
end –曲线结束画的角度.
fill –为填充的颜色 单个色值0-255或RGB的tuple
width-为画线的宽度
from PIL import Image,ImageDraw
im = Image.open("filtertest.jpg").convert("RGB")
#im.show()
draw = ImageDraw.Draw(im)
#red
draw.arc((0, 0,1200,800), start=0,end=30,fill=(255,0,0),width=10)
#im.show()
#white 支持-30 反向显示
draw.arc((200, 200,1400,1000), start=0,end=-30,fill=(255,255,255),width=10)
#im.show()
#green