Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从RGB元组定义使用Python图像库绘制的线的颜色?_Python_Draw_Imaging - Fatal编程技术网

从RGB元组定义使用Python图像库绘制的线的颜色?

从RGB元组定义使用Python图像库绘制的线的颜色?,python,draw,imaging,Python,Draw,Imaging,我试图简单地画一条垂直线,并根据RGB元组定义颜色。例100,200,80。我在Python图像库中没有看到任何允许我基于元组定义颜色的内容。库或其他库中是否缺少允许我根据RGB值定义颜色基础的内容 我已经试过使用 finalImage = Image.new("RGB", (1000, 20000)) finalImageDraw = ImageDraw.Draw(finalImage) finalImageDraw.line([(i, 0), (i, 1000)], fill=avgColo

我试图简单地画一条垂直线,并根据RGB元组定义颜色。例100,200,80。我在Python图像库中没有看到任何允许我基于元组定义颜色的内容。库或其他库中是否缺少允许我根据RGB值定义颜色基础的内容

我已经试过使用

finalImage = Image.new("RGB", (1000, 20000))
finalImageDraw = ImageDraw.Draw(finalImage)
finalImageDraw.line([(i, 0), (i, 1000)], fill=avgColor)
其中avgColor是一个元组。即100、75、110。但它只画了黑线。这是正确的用法吗?

在方法上使用fill参数

您可以使用RGB、HSV甚至命名颜色

文档中的示例

import Image, ImageDraw

im = Image.open("lena.pgm")

draw = ImageDraw.Draw(im)

# Fill=128 creates a grey line
draw.line((0, 0) + im.size, fill=128)   
draw.line((0, im.size[1], im.size[0], 0), fill=128)
del draw

# write to stdout
im.save(sys.stdout, "PNG")

这是正确的用法,对吗?finalImageDraw.line[i,0,i,1000],fill=avgColor,其中avgColor是一个元组,即10098110?我试过了,它画的所有线条都是黑色的。检查什么类型的图像-我第一次使用PIL时遇到了类似的问题-这是因为我创建的是单色图像。看看-创建图像时使用什么值。我解决了问题。这实际上是一个问题,我定义了在哪里画线的位置。它们实际上是在画线,但它们在图像的角落里非常小,只有放大到很远的地方才能看到。我调整了索引,现在它可以按预期工作。@雅各布·马拉乔夫斯基-如果它解决了你的问题,你能接受答案吗-谢谢。你的图像是什么模式的?我在主帖子中添加了ImageDraw的声明。