[英]Is it possible to add a blue bar using PIL or Pillow?
我不确定你真的应该如何编码,但我想如果我在进度条的右端画一个青色圆圈,然后从左边填充它,它应该可以工作:
#!/usr/bin/env python3
from PIL import Image, ImageDraw
# Open template and get drawing context
im = Image.open('progress.png').convert('RGB')
draw = ImageDraw.Draw(im)
# Cyan-ish fill colour
color=(98,211,245)
# Draw circle at right end of progress bar
x, y, diam = 254, 8, 34
draw.ellipse([x,y,x+diam,y+diam], fill=color)
# Flood-fill from extreme left of progress bar area to behind circle
ImageDraw.floodfill(im, xy=(14,24), value=color, thresh=40)
# Save result
im.save('result.png')
为了让你明白我在做什么,我画了一个圆圈,下面的图片标记为红色,然后从图片标记为黄色的地方开始填充:
因此,如果您想要显示更多进度,只需在代码中增加x
- 如果您想要更少进度,请减少x
。
至于圆形末端的质量,如果您从半径为 17 的圆开始并将其放大,您肯定会得到锯齿状的边缘。 下面是ImageMagick所做的,左边有抗锯齿,右边没有:
关键词:Python,图像处理,PIL,枕头,进度条,进度条,圆形末端。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.