繁体   English   中英

是否可以使用 PIL 或 Pillow 添加蓝条?

[英]Is it possible to add a blue bar using PIL or Pillow?

所以我有这个灰色的条,但我想像这样制作它的一小部分。 但是我不想下载蓝条,我只想用纯代码使用Python

我不确定你真的应该如何编码,但我想如果我在进度条的右端画一个青色圆圈,然后从左边填充它,它应该可以工作:

#!/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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM