【发布时间】:2019-07-10 17:14:25
【问题描述】:
我正在尝试使用 PIL 打开图像,然后在其上画一条线,但它不起作用。我正在尝试进行调平显示,线条是用户升级的程度。
我尝试使用Image.new 创建一个新图像,并且已经有一个可用的基础并使用Image.open 打开它,我还尝试将坐标直接放入函数中,然后将两个-元组作为变量并将这些变量调用到函数中(如下所示)。基础图片是透明图片。
length = 300 # Used as a placeholder integer, as this would change depending on user's level
base = Image.open('./level_up/base.png')
draw = ImageDraw.Draw(base)
pos1 = (280, 324)
pos2 = (280, length + 324)
draw.line((pos1, pos2), fill=(255, 102, 168), width=20)
base.save('./level_up/base2.png')
我打开图片,这是一个空白的透明图片,即1500 x 296,里面什么都没有。没有线什么的。
【问题讨论】:
-
尝试将
base = Image.open('./level_up/base.png')更改为base = Image.open('./level_up/base.png').convert('RGB') -
这将显示线条,但也会破坏性地修改图像中的所有透明区域。
-
请分享您的输入图像,以便我们了解发生了什么。谢谢。
-
@jsbueno 我假设输入图像没有透明度,因为 OP 仅使用 RGB 绘制线条而没有 A 组件。虽然我可能错了,所以我要求 OP 分享图片:-)
标签: python python-3.x image python-imaging-library draw