2017-01-19 6 views
0

Я пытаюсь просто нарисовать вертикальную линию и определить цвет на основе кортежа RGB. ех. (100, 200, 80). Я не вижу ничего в библиотеке изображений Python, которая позволит мне определить цвет на основе кортежа. Есть ли что-то, что мне не хватает в библиотеке или другой библиотеке, которая позволит мне определить цветовую базу по значениям RGB?Определить цвет линии, нарисованной с помощью библиотеки изображений Python, из кортежа RGB?

Я уже пробовал использовать

finalImage = Image.new("RGB", (1000, 20000)) 
finalImageDraw = ImageDraw.Draw(finalImage) 
finalImageDraw.line([(i, 0), (i, 1000)], fill=avgColor) 

Где avgColor является кортеж. то есть. (100, 75, 110). Но он только рисует черные линии. Это правильное использование?

+0

Какой режим ваш образ? –

+0

Я добавил объявление ImageDraw к основному сообщению. –

ответ

0

аргумент fill по методу draw.line.

Вы можете использовать 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") 
+0

Это будет правильное использование, не так ли? finalImageDraw.line ([(i, 0), (i, 1000)], fill = avgColor) Где avgColor является кортежем (т. е. (100, 98, 110)? Я пробовал это, и все строки, которые он рисует, являются черными. –

+0

проверьте, какой тип изображения - у меня была аналогичная проблема, когда я впервые начал использовать PIL - и это было потому, что я создавал монохромное изображение. –

+0

взгляните на http://effbot.org/imagingbook/concepts.htm#mode - о том, какие значения использовать при создании образов. –