2017-01-19 2 views
0

Ich versuche, einfach eine vertikale Linie zu zeichnen und die Farbe basierend auf einem RGB-Tupel zu definieren. Ex. (100, 200, 80). Ich sehe in der Python Imaging Library nichts, was es mir erlauben würde, die Farbe basierend auf dem Tupel zu definieren. Gibt es etwas, das mir in der Bibliothek oder einer anderen Bibliothek fehlt, mit dem ich die Farbbasis auf den RGB-Werten definieren kann?Definieren Sie die Farbe der mit Python Imaging Library gezeichneten Linie aus einem RGB-Tupel?

Ich habe bereits versucht,

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

mit Wo avgColor ein Tupel ist. dh. (100, 75, 110). Aber es zeichnet nur schwarze Linien. Ist das die richtige Verwendung?

+0

Welcher Modus ist Ihr Bild? –

+0

Ich habe die Deklaration von ImageDraw zum Hauptpost hinzugefügt. –

Antwort

0

Verwenden Sie das fill Argument auf der draw.line Methode.

Sie können RGB-, HSV- oder sogar benannte Farben verwenden.

Beispiel (aus der Dokumentation)

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

Das wäre die richtige Verwendung, oder? finalImageDraw.line ([(i, 0), (i, 1000)], füllen = avgColor) Wo ist avgColor ein Tupel (dh. (100, 98,110)? Ich habe versucht, und alle Linien, die es zeichnet, sind schwarz. –

+0

Überprüfen Sie, welche Art von Bild - ich hatte ein ähnliches Problem, als ich anfing, PIL - zu verwenden, und es war, weil ich ein monochromes Bild erstellte. –

+0

werfen Sie einen Blick auf http://effbot.org/imagingbook/concepts.htm#mode - was die Werte angeht, die beim Erstellen von Bildern zu verwenden sind: –

Verwandte Themen